tess4j使用
http://blog.csdn.net/qq245671051/article/details/50363678
灰度化实现
http://www.codeceo.com/article/java-image-gray.html
package org.gebilaowang.utils;
import javax.imageio.ImageIO;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import java.awt.image.BufferedImage;
import java.io.File;
/**
* Created by xiehonghao on 16-3-12.
*/
public class DefeatCaptcha {
private static final Logger LOGGER = LoggerFactory.getLogger(DefeatCaptcha.class);
private static BufferedImage getBufferedImage(String localFilePath) {
try {
return ImageIO.read(new File(localFilePath));
} catch (Exception e) {
LOGGER.error(e.getMessage(), e);
}
return null;
}
private static int colorToRGB(int alpha, int red, int green, int blue) {
int newPixel = 0;
newPixel += alpha;
newPixel = newPixel << 8;
newPixel += red;
newPixel = newPixel << 8;
newPixel += green;
newPixel = newPixel << 8;
newPixel += blue;
return newPixel;
}
private static void grayImage(BufferedImage oldImage) {
int height = oldImage.getHeight();
int width = oldImage.getWidth();
for (int w = 0; w < width; w++) {
for (int h = 0; h < height; h++) {
final int color = oldImage.getRGB(w, h);
final int r = (color >> 16) & 0xff;
final int g = (color >> 8) & 0xff;
final int b = color & 0xff;
int gray = (int) (0.3 * r + 0.59 * g + 0.11 * b);
int newPixel = colorToRGB(255, gray, gray, gray);
oldImage.setRGB(w, h, newPixel);
}
}
}
public static void main(String args[]) {
BufferedImage bufferedImage = getBufferedImage("//Users//hackdream//Downloads//hehe.jpg");
grayImage(bufferedImage);
System.out.println("end");
}
}