ocr处理图片出现异常:ICC APP2 encountered without prior JFIF

最近需要弄一个识别图片文字的小工具,大致了解了一下OCR,网上搜了很多相关的实现,主要为Asprise OCR和tesseract ocr.我这里不贴实现的代码了,网上有很多。

我最开始使用的是Asprise OCR,因为这个API调用简单,就三行代码,写好测试代码后发现每次一调用都会弹出一个购买的窗口,实在影响用户体验,没办法,人家靠这个盈利的,我也就将就着用,同是也上网搜了一些破解的方法,其中提到最多的一个就是修改asprise.dll的16进制寄存器,经过一番折腾,最终以失败告终。我只想说:Asprise,你赢了。

既然Asprise破解不了,又不想忍受那个弹出窗,只能转战tesseract,于是在网上下载了一个调用tesseract的demo(大部分的帖子都是同一个),环境配置ok后,准备开始测试,测试前自己用PS准备了一张图片,运行运行程序,javax.imageio.IIOException: ICC APP2 encountered without prior JFIF!直接显示出来,,网上各种搜索,还是没弄明白,但是将错误定位在getImageMetadata()这个方法上,又经过一番思索,终于想到是不是图片的问题,可是文档明确说支持jpg图片,我制作的图片也是保存的jpg图片。经过一番测试,终于发现是PS保存图片的时候出问题了,平时大家使用PS保存图片都是 存储为—–》jpg,但是这样保存的图片getImageMetadata()就报错,我将保存方式修改为存储为WEB或设备然后选择JPEG存储,执行程序,异常消失了。

在这里记录一下这个错误,如果有碰到相同问题的可以参考一下。。。

版权声明:本文为博主原创文章,未经博主允许不得转载。

观今宜鉴古,无古不成今。

ocr处理图片出现异常:ICC APP2 encountered without prior JFIF

相关文章:

你感兴趣的文章:

标签云: