Opencv识别单行数字

来源:互联网 发布:steam好玩的mac游戏 编辑:程序博客网 时间:2024/05/01 16:21

由于公司要做数字,字符识别,识别图片如下:

所以在网上参考了博客:点击打开链接 的内容,在上面的基础上进行了修改和总结,先进行数字的识别,字符的识别有待实现。但这局限于单行数字,但是要识别的数字不单单只有一行,现在暂想通过中间的黑色横线进行先分割,再进行分行识别,但是这样的方法并不是很可行,不知道有没有更好的实现方法,请指教,不胜感激!


实现步骤
1.载入图片imread;
2.二值化图片threshold;
3.遍历图片将要识别的数字置为白色,背景置为黑色!(我是通过遍历修改像素点的方法,这个方法比较耗时,应该有更好的方法的。);
4.将要识别的数字抠出来保存起来,做模板用;
5.进行匹配操作。


注意事项:
1.必须每个数字(0-9)都有模板,否则程序在匹配的时候会出现错误。因为匹配的方法(让两个图片对应像素点值相减)然后求返回图片的整个图片的像素点值得平方和,和哪个模板匹配时候返回图片的平方和最小,识别结果就是该模板。)!例如:模板中不存在数字5的模板,在识别的时候就会把源图中的数字5识别为6。
2.测试图片位于Release目录下。
3.测试环境 VS2013 + opencv 2.4.13 
4.资源下载地址(含测试图):源码
0 0