Chr*_*ber 6 java crop image-processing
有没有人对执行自动裁剪和校正图像(如从平板扫描仪检索到的图像)的 Java 库有建议?
纠偏
看看Tess4j(Tesseract 的 Java JNA 包装器)。
您可以将ImageDeskew.getSkewAngle()与ImageHelper.rotate(BufferedImage image, double angle) 结合使用。
tess4j 项目Tesseract1Test.java的 test 文件夹中有一个如何使用的例子
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()));
}
Run Code Online (Sandbox Code Playgroud)