jacki6 发表于 2013-2-7 01:53:46

AspriseOCR 解析图片内容

今天试着想解析验证码的图片,搞了半天,搞不定http://www.agoit.com/images/smiles/icon_cry.gif 。在网上搜了下,找了个第三方插件Asprise OCR v4.0 for Java,感觉还可以,发上来跟大家共享下(不过对于干扰线太复杂的,解析出来还是错的)。

官方下载页面

配置:解压 Asprise-OCR-Java-Windows_XP_32bit-4.0.rar,到解压后的文件内把AspriseOCR.dll、 DevIL.dll、ILU.dll这三个dll库文件放到 windows/system32,然后把aspriseOCR.jar放到项目lib下就ok了。

简单的实例如下:
import java.awt.image.BufferedImage;import java.io.File;import java.io.IOException;import javax.imageio.ImageIO;import com.asprise.util.ocr.OCR;public class AspriseOCRTest {public static void main(String[] args) {//String path = "D:\\1111.bmp";String path = "e:\\ValidateCode.gif";try {BufferedImage image = ImageIO.read(new File(path));String valCode = new OCR().recognizeEverything(image);System.out.println(valCode);} catch (IOException e) {e.printStackTrace();} }}

   这个只是试用版,网上有破解的方法,但我试了下,还是一直弹出确认对话框。这里也把网上的破解方法贴上。

   最近写一个小程序要用到OCR控件,在网上查了一下,据说AspriseOCR 4.0效果不错。试用了一下发现的确还行,不过就是要注册,试用版本每次都会弹出讨厌的对话框来。
   网上看到有一篇“新人报道--处女破--爆破Asprise OCR v3.0 for C/C++”,我尝试了一下,发现用于3.0的爆破方法居然可以用在4.0的爆破上。
   不过文中的"用UltraEdit打开AspriseOCR.dll,搜索找到“E8085B0000”就一处,应该是了,把那里及随后的18个字节全替换成90,保存"。要稍稍改一下,之后的18个字节不能替换成90。
   只要用UEdit打开AspriseOCR.dll后,搜索 "E8 89 58 00 00" 并替换成 "90 90 90 90 90" 即可。
页: [1]
查看完整版本: AspriseOCR 解析图片内容