The value of Zmotion is to bring customers more success!
《教学视频:机器视觉运动控制一体机应用例程|条码文本和印刷文本进行字符串对比》
01 检测原理
(一)检测需求
检测当前放置药盒识别的条码文本和印刷的文本进行字符串对比,如果两者的识别的字符串结果不一致,那么样品则为NG,以此来判别药盒的条码和条码相对应的文本有无印刷错误。
(二)软件算法
使用矩形ROI补正的指令,根据形状匹配的基准位置对矩形ROI搜索框进行位置补正,矩形ROI即可跟随样品移动。
然后用识别条码和字符的指令分别识别出对应的文本,最后再通过字符串对比的指令进行判断,如果字符串对比一致,则输出OK状态,否则输出NG状态。
02 软件实现
1.打开ZDevelop软件:新建名称为“药盒条码字符对比.zpj”项目→新建HMI文件→新建“main.bas”文件(用于编写界面响应函数)→新建“global_variable.bas”文件(用于存放全局变量并开启HMI自动运行任务)→新建“InitLocator.bas”文件(用于初始化测量参数)→新建“draw.bas”文件(用于更新绘制ROI数据)→新建“camera.bas”文件(用于实现相机采集功能)→文件添加到项目。
2.设计HMI界面。
3.关联HMI主界面控件变量。
4.新建主界面按下【识别设置】按钮时弹出的识别参数设置窗口“setting”,并设计界面布局。
5.关联识别设置窗口“setting”界面上的控件变量。
6.本期课程的代码实现的功能主要使用到的指令是矩形ROI补正、识别条码、识别字符和字符串对比的指令。
ZV_RECTCORRECT(参数1:补正的变换矩阵,参数2:输入矩形中心 x 坐标,参数3:输入矩形中心 y 坐标,参数4:输入矩形宽,参数5:输入矩形高,参数6:输入矩形角度,参数7:TABLE 索引,输出参数,补正后的矩形,依次为 cx、cy、 width,height,angle)
ZV_CODEREAD(参数1:输入单通道图像,参数2:列表类型,从图像中识别到的所有数据码的结果存储在列表中,参数3:读取数据码的类型,本期课程选用的是0 - 自动类型,除 QR 和 DM 码外条码的所有类型都可识别,参数4:扫描步长,正整数,步长越大速度越快但会影响识别精度,通常取4)
ZV_OCRCLASSIFYSVM(参数1:分类器,参数2:字符样本库,参数3:存放识别结果 tab_charlist 可使用的最大 TABLE 空间长度,参数4:存放识别结果的 TABLE 起始索引,输出参数)
STRCOMP(字符串1,字符串2)=0
03 操作演示
(一)操作步骤
查看运行效果:将项目下载到仿真器中→使用本地图片→单次采集→点击学习模板→点击识别设置→点击识别条码ROI(框选条码识别区域)→点击识别字符ROI(框选需要跟识别条码结果做文本对比的字符串检测区域)→输入训练的字符库的字符(每个字符之间需要空格键隔开,训练字符才能生效)→点击提取训练→点击识别测试(查看当前的识别结果)→返回主界面(点击使用补正源)→点击测试(查看当前样品检测文本对比结果)→点击连续运行(查看连续运行效果)→结束。
(二)效果演示
本次,正运动技术机器视觉运动控制一体机应用例程丨条码文本和印刷文本进行字符串对比,就分享到这里。
更多精彩内容请关注“正运动小助手”公众号,需要相关开发环境与例程代码,请咨询正运动技术销售工程师:400-089-8936。
本文由正运动技术原创,欢迎大家转载,共同学习,一起提高中国智能制造水平。文章版权归正运动技术所有,如有转载请注明文章来源。