如何解决LeptUtils.convertPixToImage之后ImageIO.write无法正常工作
我创建了一些使用Tessaract的应用,在使用OCR之前,我使用Leptutils从图像中删除了水平线。在Eclipse中,一切正常,但是当我在jar文件中导出时,programm卡在ImageIO.write上。此功能在自己的威胁下完成。当我在主要威胁下使用这些操作时,一切正常。怎么了? 这是一些代码:
PDFRenderer pdfRenderer = new PDFRenderer(document);
int lpp = document.getNumberOfPages();
Cikls=0; Aplis =1;
ST_OCR1(lpp); //Run process monitor
Pix bild = null;
Pix bild1 = null;
for(int i = 0; i < lpp; ++i) {
Cikls=i;
BufferedImage image = pdfRenderer.renderImageWithDPI(i,dpi,ImageType.GRAY);
try { bild =LeptUtils.convertImageToPix(image); logger.info("convertImageToPix");}
catch (IOException e) {logger.info("Exeption convertImageToPix");}
bild1 = LeptUtils.removeLines(bild);
try {image = LeptUtils.convertPixToImage(bild1); logger.info("convertPixToImage");}
catch (IOException e) {logger.info("Exeption convertPixToImage");}
try {ImageIO.write(image,Jpg,new File(Cels + "\\Temp\\"+ "p"+i+"."+Jpg)); logger.info("ImageIO.write");} // <- Here programm stuck!!!!!!!!!
catch (IOException e) { logger.info("Exeption ImageIO.write");}
}
//release Pix resource
PointerByReference pRef = new PointerByReference();
pRef.setValue(bild.getPointer());
Leptonica1.pixDestroy(pRef);
pRef.setValue(bild1.getPointer());
Leptonica1.pixDestroy(pRef);
document.close();
解决方法
解决了! 我用: Leptonica1.pixWrite(Cels +“ \ Temp \ p” + i +“。” + Jpg,bild1,ILeptonica.IFF_TIFF); 代替: 图片= LeptUtils.convertPixToImage(bild1); ImageIO.write(image,Jpg,new File(Cels +“ \ Temp \” +“ p” + i +“。” + Jpg));
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。