检查键盘按键是否有装错位置

键盘是电话,电脑,或其它设备上比较常见的部件。人工安装的键盘经常发生各种错误,

键盘安装位置错误是常见的问题之一。例如,将键盘2的件安装道键盘3,将键盘6安装

到键盘9, 将键盘6的上下顺序反置安装,等等。下图一个简单的键盘图:

 

下图是错误安装的键盘图:

 

这个键盘总共有16的键盘,由于数量比较多,键盘误装的组合较大,使用常用的双态算子检测

很容易发生误报, 笔者将介绍如何使用多态算子来检测此类的按键安装问题。

多态算子检测方式比双态算子检测稍微复杂一点,为了节省篇幅,笔者对机器视觉大师的一些

基本操作不再介绍,直接进入相关的操作环节。

准备工作

假设已经调试好相机成像参数,键盘已经放置到工作台合适位置上,并且已经获得相应的图像。本文仅对3个按键

进行检测,其它按键读者有机会可以自行按照本文介绍的方法进行操作。

 

按键123将使用多态算子进行检测。

由于笔者的测试工作台过于简陋,不得不加一些额外的标识控件用于前后不同键盘在工作

台的定位。

点击菜单控件” ->”插入”->”标记”->”标记点插入4个标记点到视场,在控件属性窗将其

颜色设置为红色,然后将4个标记点拖动到键盘的四个角位置,用于参考对准。如下图:

 

下次不同产品进行检测的时候,只要将新键盘的四个角大致对准四个标记控件就可以通知

检测了。(如果读者有简单的夹具定位,这个步骤完全可以省略。)

添加多态识别算子

下面是建立多态算子进行按键检测的过程。

一、点击菜单控件” ->”插入”->”定位类”->”多态测量添加到视场,将算子拖动到按键位置,

并调整好检测范围和模板大小。

 

二、双击该算子,进行参数设置和模板学习。显示参数设置窗口。在“学习”页,输入模板

名字(字母和数字)”abc”,点击学习进行学习一个模板的学习。

 

三、搜索框不变,调整模板框到另外一部分如下图,重复步骤2(注意:名字要改一改)

    

,

四、识别页,选择平方差识别方法,最小分数设置为0.9以上。

 

五、读数页,将所有的读数的输出类型设置为“仅计算不输出”。具体做法是一次选择左

边的读数,将输出类型更改为“仅计算不输出”。

 

同样的方法,建立检测键盘1合键盘3的检测算子。注意键盘1一需要学习一个模板就可以,或者学习

一个空模板。最终设计如下图:

 

编写脚本

点击菜单模式”->”编辑脚本”, 弹出编辑脚本对话框。选择测量类型为质量检测”。输入判断脚本语句。

 

下面是完整的脚本代码:

k1 = (sight2.md3.res  == 0)

k2 = true

cnt = sight2.md1.cnt

for i= 1, cnt, 1 do

   if (sight2.md1.scor[i] < 0.9) then

      k2=false

      break

   end  

end

k3 = true

cnt = sight2.md2.cnt

for i= 1, cnt, 1 do

   if (sight2.md2.scor[i] < 0.9) then

      k3=false

      break

   end  

end

if (k1 and k2 and k3) then

   mvs.good= 1

   mvs.ng =0

else

   mvs.good =0

   mvs.ng =1

end

上面的语句解释如下:

k1, k2, k3表示三个算子的检测结果。 键盘1只有一个模板,故直接使用res读数判断即可。

键盘2和键盘3具有两个模板,判断这两个键盘相对复杂一点,需要多个算子读数。如键盘2

的判断脚本如下:

k2 = true

cnt = sight2.md1.cnt

for i= 1, cnt, 1 do

   if (sight2.md1.scor[i] < 0.9) then

      k2=false

      break

   end  

end

这段代码解释如下:

1.   首先假设结果为真:k2=true

2.   然后获得算子的模板数:cnt = sight2.md1.cnt

3.   循环检测每个模板获得的可信分数,如果小于0.9, 那么,检测结果设置假,

然后结束循环,继续后面的语句。

下面是检测结果判断部分

if (k1 and k2 and k3) then

   mvs.good= 1

   mvs.ng =0

else

   mvs.good =0

   mvs.ng =1

end

这个语句可以解释为所有检测算子的结果为真,那么表示这个当前键盘是没有发生安装错误,

可以将系统变量good设置为1ng设置为0,否则表示有键盘没有可能发生位置错误,这样

good变量为0ng设置为1

  

质量检测类任务支持2系统变量:goodng具体如下:

变量名

说明

类型

good

合格标记

布尔(1为真,0为假)

ng

次品标记

布尔(1为真,0为假)

注意:视场名称为sight2是因为本地电脑有两个相机,笔者只用其中一个名称为sigh2

相机视场进行演示

 

 

检测运行

点击菜单相机”->”测量运行”,进入检测状态。放置键盘到视场位置然后点击下一个按钮完成一次自动测量。

 

分别将不同的键盘放置到工作台上(注意对准四个角位置,避免工件不在工作检测位置),进行新一次检测。

   

本文测试使用的机器视觉大师版本为4.1.161101


最新版多多摄像头大师(机器视觉大师)下载地址:http://www.hdy.net.cn/softshare/ddcam.htm

技术交流QQ群: 295860595  该群文件空间即时更新多多摄像头大师最新版本,下载速度更快


猜你喜欢

转载自blog.csdn.net/buffi/article/details/53054558