Java image library to deskew and crop images

↘锁芯ラ 提交于 2019-11-28 01:49:28

问题


Does anybody have a suggestion for a java library that performs automatic cropping and deskewing of images (like those retrieved from a flatbed scanner)?


回答1:


ImageMagick can do that; you can use the ImageMagick Java bindings. The auto-crop operator is probably what you're looking for. Automatic deskewing is a much harder problem and involves some significant image processing; I'm not sure if ImageMagick can handle that. If you can figure out the skewing parameters using something else, ImageMagick can definitely unskew it for you.




回答2:


I wrote a not that simple port of a very good deskewer. It works best if you have some text in the image.

http://anydoby.com/jblog/en/java/1990




回答3:


Deskewing

Take a look at Tess4j (Java JNA wrapper for Tesseract).

You can combine ImageDeskew.getSkewAngle() with ImageHelper.rotate(BufferedImage image, double angle).

There is an example on how to use it on the test folder of the tess4j project Tesseract1Test.java

public void testDoOCR_SkewedImage() throws Exception {
    logger.info("doOCR on a skewed PNG image");
    File imageFile = new File(this.testResourcesDataPath, "eurotext_deskew.png");
    BufferedImage bi = ImageIO.read(imageFile);
    ImageDeskew id = new ImageDeskew(bi);
    double imageSkewAngle = id.getSkewAngle(); // determine skew angle
    if ((imageSkewAngle > MINIMUM_DESKEW_THRESHOLD || imageSkewAngle < -(MINIMUM_DESKEW_THRESHOLD))) {
        bi = ImageHelper.rotateImage(bi, -imageSkewAngle); // deskew image
    }

    String expResult = "The (quick) [brown] {fox} jumps!\nOver the $43,456.78 <lazy> #90 dog";
    String result = instance.doOCR(bi);
    logger.info(result);
    assertEquals(expResult, result.substring(0, expResult.length()));
}




回答4:


I'd imagine that someone has built a library on top of the Java Advanced Imaging API for doing this. You could try Googling for "Java Advanced Imaging deskew".




回答5:


I've written a simple image deskew app, includes source. Available at:

http://www.recognition-software.com/image/deskew/



来源:https://stackoverflow.com/questions/273530/java-image-library-to-deskew-and-crop-images

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!