在文章“
”中介绍了LabVIEW环境通过Halcon来实现深度学习的深度OCR功能。接下来我们就用深度OCR功能,来验证一些以前介绍的机器视觉方案中的字符识别项目的实际实现效果。
本文验证“机器视觉之圆柱表面字符识别”的深度OCR效果。
图像1
图像2
图像3
图像3中,如果定义的ROI比较宽,则识别错误,部分字符的对比度实在是太差了,最左边的5应该是没有识别到,1是识别到了,但是中间的L,则认为是黑白过度区域的边界被认为是字符了。所以,图像质量对于深度学习的识别也是有影响的。深度学习也不是万能的,有自己的要求。图像质量越好,准确率越高,速度也会越快。
图像3的部分ROI识别准确
图像3的部分ROI识别异常
这个ROI部分的内容应该是数字51,这里被认为是5和l,可以限制一下识别的范围:
限制识别范围只有数字
当限制识别范围只有数字时,后面的1字没有识别到,多画几次ROI,有时候连5都识别不到。所以这里的1字的质量可能真的太差了。
图像3全部ROI限制数字
而全部数字都框选ROI时,1也是没有识别出来,只有5250四个数字。
图像4
从图像4来看,好像250之前的字符确实是L,而不是1。整个产品表面的字符应该是5L250V,但是如果没有旋转展开的话,边上的字符因为透视问题,还有照明问题,就基本上已经很难识别出来了。即使用深度学习的方法来识别字符,也是需要尽量把照明处理好,选择好的光源来打光照明,会事半功倍。
上面的几幅图像进行效果验证,中间位置对比度高的都能准确识别。而边上的对比度不好,或有照明干扰,有透视重叠误差的,则可能存在识别不对或识别不到的问题。
要学习LabVIEW调用Halcon的深度OCR功能,请支持一下石鑫华的《LabVIEW HALCON图像处理入门教程(2024Q3)》,详细介绍如何在LabVIEW中调用Halcon的算子来实现基于深度学习的Deep OCR功能。
《LabVIEW HALCON图像处理入门教程(2024Q3)》