java验证码识别--1
java验证码识别--2
java验证码识别--3
java验证码识别--4
java验证码识别--5
(本文仅用于学习研究图像匹配识别原理,不得用于其他用途。)
前面用的都是用的比较笨的,按像素比较的方法,属于靠感觉,没有什么理论支持的东西,效率也不高。
这里我再试试用SVM的方法。用的是libsvm的java版。
前面的步骤还是一样的,去干扰,分割。
把训练的图片缩放成16*16的大小。
把每张图片转换成libsvm的data格式
label indexi:valuei
2 1:0 2:0 3:0 4:0 5:0 6:0 7:0 8:0 9:0 10:0 11:0 12:0 13:0 14:1 15:1 16:0 17:0 18:0 19:0 20:1 21:1 。。。。
3 1:0 2:0 3:0 4:0 5:1 6:0 7:0 8:0 9:0 10:0 11:0 12:1 13:0 14:0 15:0 16:0 17:0 18:1 19:1 20:1 21:1 。。。。
前面的label就是对应的图片的数字,indexi表示第i个像素,valuei表示第i个像素的值,像素为黑是valuei为1,白则为0(更合理的方法好像是黑为0.999,白为0.001)
将转换之后的数据存到data.txt里面
然后调用l