从扫描图像中删除繁忙的背景

时间:2013-11-22 05:36:58

标签: java image tesseract

我正在尝试使用Tesseract OCR扫描图像中的文本。但是背景很暗,而Tesseract无法通过文本进行扫描。

我需要帮助java代码清除图像中的背景灰色。

我试过下面的代码,我把最后一个参数Color设置为“COLOR.WHITE”(在这个论坛上由某人建议,但没有帮助)。

    static public BufferedImage scaleImage(BufferedImage img, int width, int height,
        Color background) {
    int imgWidth = img.getWidth();
    int imgHeight = img.getHeight();
    if (imgWidth*height < imgHeight*width) {
        width = imgWidth*height/imgHeight;
    } else {
        height = imgHeight*width/imgWidth;
    }
    BufferedImage newImage = new BufferedImage(width, height,
            BufferedImage.TYPE_INT_RGB);
    Graphics2D g = newImage.createGraphics();
    try {
        g.setRenderingHint(RenderingHints.KEY_INTERPOLATION,
                RenderingHints.VALUE_INTERPOLATION_BICUBIC);
        g.setBackground(background);
        g.clearRect(0, 0, width, height);
        g.drawImage(img, 0, 0, width, height, null);
    } finally {
        g.dispose();
    }
    return newImage;
}

感谢。

0 个答案:

没有答案