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();
일단 이런식으로 형태비교해서 문자인식을 할거다
'JAVA > 자바' 카테고리의 다른 글
자바 특정 경로 안에 파일목록 출력 (0) | 2015.10.24 |
---|---|
자바 Arraylist 정렬후 최소값 구하기 간단하게 (0) | 2015.10.15 |
자바 이미지 불러와서 수정 후 저장 (0) | 2015.10.13 |
자바 이미지 픽셀 비교 (0) | 2015.10.12 |
자바 메일보내기 (3) | 2015.10.06 |