package ocrtest;


import java.awt.Color;

import java.awt.Graphics;

import java.awt.Image;

import java.awt.image.BufferedImage;

import java.awt.image.PixelGrabber;

import java.io.File;


import javax.imageio.ImageIO;

import javax.swing.ImageIcon;

import javax.swing.JFrame;


public class image {


static BufferedImage newImage;

private static Image resizeImage;


public static void main(String[] args) {

Image img = new ImageIcon("im/gi.jpg").getImage();

int width = img.getWidth(null);

int height = img.getHeight(null);


int[] pixels = new int[width * height];



newImage = 

   new BfferedImage(width,height,BufferedImage.TYPE_INT_RGB);

int color = Color.DARK_GRAY.getRGB();


for (int i = 0; i < pixels.length; i++) {

if ((pixels[i] & 0xff) == 0 || ((pixels[i] >> 16) & 0xff) == 0 || ((pixels[i] >> 8) & 0xff) == 0) {

newImage.setRGB(i % width, i / width, color);


}

}

Graphics g = newImage.getGraphics();

ImageIO.write(newImage, "jpg", new File("C:/save/새 사진파일명.jpg")); } catch (Exception e) {

e.printStackTrace();

}

}


}



소스설명


1.Image img = new ImageIcon("im/gi.jpg").getImage();

이미지를 가져온다


2.int width = img.getWidth(null);

int height = img.getHeight(null);

가로 세로 크기를 받아온다.


3.int[] pixels = new int[width * height];

픽셀을 배열화 시킴


4.newImage = 

   new BfferedImage(width,height,BufferedImage.TYPE_INT_RGB);

불러온 이미지와 같은 가로세로 크기의 그릴판을 만들어줌


5.int color = Color.DARK_GRAY.getRGB();

다크그레이색을 변수에만들어서 색준비


6.for (int i = 0; i < pixels.length; i++)

                  {

if ((pixels[i] & 0xff) == 0 || ((pixels[i] >> 16) & 0xff) == 0 || ((pixels[i] >> 8) & 0xff) == 0) 


                  {


newImage.setRGB(i % width, i / width, color);


}


RGB값이 000으로 검은색 이미지 픽셀일때 다크그레이색으로 똑같이 그린다.

}



7. ImageIO.write(newImage, "jpg", new File("C:/save/새 사진파일명.jpg"));

불러온 이미지와 같은 사이즈로 다크그레이색으로 새로그린다.


}

 catch (Exception e) {


e.printStackTrace();



일단 이런식으로 형태비교해서 문자인식을 할거다








블로그 이미지

왕왕왕왕

,