昨天在做一些验证码识别,因为主要用的语言是java,所以也是用java来做了。
刚开始自然是思路全无,后来在网上找到了J4L 这个工具jar
网站:http://www.java4less.com/ocrtools/ocrtools.php?info=guide
使用起来也是很简单:
这边先下载他的jar包:
http://www.java4less.com/ocrtools/ocrtools.php?info=download
下载后解压 得到一堆文件:
运行一下那三个bat文件就可以看到效果:
如果你是64位的机器 请把bits64里的dll复制到这个目录并且覆盖掉 不然会有平台不支持的错误
在代码里使用也很简单 把lib下的jar包导入到build path
并且把tess3WrapperDLL.dll leptonlibd.dll 放到path下(%java_home%/bin啊之类的 就是环境变量里设置的path)
接下去就可以简单使用了:
我这边的代码为了处理一下验证码 直接拿来用基本上用不了 所以用了http://ykf.iteye.com/blog/212431 里面图像的处理类
代码很简单 如下:
public static String getVerifyText(InputStream ins) throws MalformedURLException, IOException { OCRFacade facade = new OCRFacade(); BufferedImage bi = ImageIO.read(ins); ImageFilter ifter = new ImageFilter(bi); bi = ifter.changeGrey(); //这里只用了一个二值化 可以再多加几个 ByteArrayOutputStream bao = new ByteArrayOutputStream(); ImageIO.write(bi, "png", bao); String text = facade.recognizeImage(bao.toByteArray(), "png", "eng"); System.out.println("Text in the image is: "); System.out.println(text); return text; }
结果:
试了一下 这类简单的识别 正确率虽然不是特别高 但是差不多足够用了
不过由于用到了外部的dll 实际使用中如果使用多线程(就算是单线程也一样) 识别的图片一多(单线程下 几百个) 虚拟机就会崩溃...不适合进行批量工作 不过这是找到最好的了...
相关推荐
java验证码识别库,J4L和Tess4J
j4l Java实现识别图片中数字英文, 识别概率还可以j4l Java实现识别图片中数字英文, 识别概率还可以j4l Java实现识别图片中数字英文, 识别概率还可以
本文主要介绍Java 中二维码,QR码,J4L-QRCode,这里整理了详细的资料供大家学习参考关于二维码的知识,有需要的小伙伴可以参考下
DFA的Java实现,最近有编译原理的实习,就把自己的资源共享给大家
Samples Communication code Java
不断保持后台唤醒的源码安装之后就能不断的唤醒,实现后台service持续运行,并且唤醒之后进入自定义界面
一汽奥迪AudiA4L汽车使用手册用户说明书pdf电子版下载
opencv 依赖libv4l来打开摄像头,不然会报HIGHGUI ERROR: V4L/V4L2: VIDIOC_S_CROP
JAVA培训机构的资料,供参考学习。有的内容可能不是最新版本
交叉编译gst-plugins-good支持库,为gstreamer插件,为视频开发插件
You acknowledge and agree that the structure, sequence and organization of the Software are the valuable trade secrets of J4L Components (http://www.java4less.com). You agree to hold such trade ...
最新libv4l源码,可以自行编译使用 make install LINKTYPE=static DESTDIR=/home/local
libv4l-0.6.2-test.tar.gz
使用MATLAB绘制中国地图时需要依赖的经纬度坐标库,非常经典. 中国地图的shpfile文件,来源于国家基础地理信息中心,可通过matlab、global mapper或者其他软件转为GMT识别的数据格式。(The shpfile file of China ...
libv4l-0.6.4.tar.gz,编译很多开源软件需要此库,缺少会报错
在linux下QT环境使用v4l2视频框架操作摄像头硬件
IPD90N06S4L技术规格书。。。。。。。。。。。。。。。。。
中国线图和面图,bou1_4l,bou2_4p,用于科研作图 ,高分辨率
magicf4l