CN111103533B - 一种基于视觉的十位旋转拨码开关复位***的复位方法 - Google Patents
一种基于视觉的十位旋转拨码开关复位***的复位方法 Download PDFInfo
- Publication number
- CN111103533B CN111103533B CN201911292517.1A CN201911292517A CN111103533B CN 111103533 B CN111103533 B CN 111103533B CN 201911292517 A CN201911292517 A CN 201911292517A CN 111103533 B CN111103533 B CN 111103533B
- Authority
- CN
- China
- Prior art keywords
- area
- pointer
- reset
- dial switch
- region
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 27
- 238000001514 detection method Methods 0.000 claims abstract description 100
- 230000000007 visual effect Effects 0.000 claims description 19
- 230000000877 morphologic effect Effects 0.000 claims description 18
- 238000005260 corrosion Methods 0.000 claims description 12
- 230000007797 corrosion Effects 0.000 claims description 12
- 238000003708 edge detection Methods 0.000 claims description 11
- 238000004364 calculation method Methods 0.000 claims description 9
- 230000005540 biological transmission Effects 0.000 claims description 6
- 230000011218 segmentation Effects 0.000 claims description 4
- 238000004519 manufacturing process Methods 0.000 abstract description 6
- 238000010586 diagram Methods 0.000 description 20
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000008030 elimination Effects 0.000 description 1
- 238000003379 elimination reaction Methods 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01R—MEASURING ELECTRIC VARIABLES; MEASURING MAGNETIC VARIABLES
- G01R31/00—Arrangements for testing electric properties; Arrangements for locating electric faults; Arrangements for electrical testing characterised by what is being tested not provided for elsewhere
- G01R31/327—Testing of circuit interrupters, switches or circuit-breakers
- G01R31/3277—Testing of circuit interrupters, switches or circuit-breakers of low voltage devices, e.g. domestic or industrial devices, such as motor protections, relays, rotation switches
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01M—TESTING STATIC OR DYNAMIC BALANCE OF MACHINES OR STRUCTURES; TESTING OF STRUCTURES OR APPARATUS, NOT OTHERWISE PROVIDED FOR
- G01M13/00—Testing of machine parts
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01R—MEASURING ELECTRIC VARIABLES; MEASURING MAGNETIC VARIABLES
- G01R1/00—Details of instruments or arrangements of the types included in groups G01R5/00 - G01R13/00 and G01R31/00
- G01R1/02—General constructional details
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T5/00—Image enhancement or restoration
- G06T5/20—Image enhancement or restoration using local operators
- G06T5/30—Erosion or dilatation, e.g. thinning
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/10—Segmentation; Edge detection
- G06T7/11—Region-based segmentation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/10—Segmentation; Edge detection
- G06T7/136—Segmentation; Edge detection involving thresholding
Landscapes
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Image Analysis (AREA)
Abstract
本发明提出了一种基于视觉的十位旋转拨码开关复位***及复位方法,属于十位旋转拨码开关复位技术领域,特别是涉及一种基于视觉的十位旋转拨码开关复位***及复位方法。解决了现有十位旋转拨码开关生产过程中检测编码状态与指示位是否对应多采用人工复位方式,成本高、效率低,准确性差的问题。它包括复位***及复位方法,复位***包括PLC控制***、总线、指示位检测装置和指示位复位装置,所述指示位检测装置包括工业相机和工控机,所述指示位复位装置包括气缸、伺服电机和批头,复位方法包括指示位检测算法、圆形区域检测算法、指针区域检测算法和指针角度检测算法。它主要用于十位旋转拨码开关的复位。
Description
技术领域
本发明属于十位旋转拨码开关复位技术领域,特别是涉及一种基于视觉的十位旋转拨码开关复位***及复位方法。
背景技术
十位旋转拨码开关生产过程中需要检测编码状态与指示位是否一一对应,检测步骤为:首先将十位旋转拨码开关的指针旋转至指示位0,再将指针从指示位0顺时针旋转至指示位9,并分别检测编码状态与指示位是否一一对应。例如,当指示位为1时,编码状态应为1,即管脚1与公共端导通;当指示位为6时,编码状态应为6,即管脚2和管脚 4同时与公共端导通。但由于生产工艺的问题,流水线上生产出的十位旋转拨码开关的指针通常指向任意指示位。目前,生产企业在检测编码状态与指示位是否对应的过程中,对十位旋转拨码开关的复位操作主要采用人工方式,当待检测十位旋转拨码开关进入检测工位的夹具后,人工将指针旋转至指示位0再进行检测。采用人工复位方式不仅成本高、效率低,准确性也难以长时间保证。
发明内容
本发明为了解决现有技术中的问题,提出一种基于视觉的十位旋转拨码开关复位***及复位方法。
为实现上述目的,本发明采用以下技术方案:一种基于视觉的十位旋转拨码开关复位***,它包括PLC控制***、总线、指示位检测装置和指示位复位装置,所述PLC控制***与总线通讯连接,所述指示位检测装置包括工业相机和工控机,所述工业相机安装在待复位的十位旋转拨码开关夹具的正上方,所述工业相机与工控机通讯连接,所述工控机与PLC控制***通讯连接,所述指示位检测装置所在的区域为指示位检测工位;所述指示位复位装置包括气缸、伺服电机和批头,所述气缸通过I/O模块与总线通讯连接,所述伺服电机与总线通讯连接,所述气缸的伸缩杆与伺服电机相连,所述伺服电机的输出轴与批头固定相连,所述指示位复位装置位于待复位的十位旋转拨码开关夹具的正上方,所述指示位复位装置所在的区域为指示位复位工位。
更进一步的,所述总线为TCP/IP总线。
更进一步的,所述工业相机通过GigE与工控机通讯连接。
更进一步的,所述工控机通过RS232模块与PLC控制***通讯连接。
更进一步的,所述批头为一字型批头。
本发明还提供了一种基于视觉的十位旋转拨码开关的复位方法,它包括以下步骤:
步骤1.1:当十位旋转拨码开关进入指示位检测工位的夹具后,PLC控制***通过RS232模块向工控机发出指示位检测工位就绪信号;
步骤1.2:工控机获得指示位检测工位就绪信号后,通过GigE向工业相机发出一个触发信号;
步骤1.3:工业相机获得触发信号后,拍摄一幅图像,并通过GigE向工控机传送拍摄的图像;
步骤1.4:工控机获得图像后,根据指示位检测算法计算当前指示位k,并将当前指示位k通过RS232模块输送给PLC控制***;
步骤1.5:PLC控制***获得当前指示位k后,将当前指示位k通过TCP/IP总线输送给指示位复位装置中的伺服电机,同时通过TCP/IP总线通知传送机构将十位旋转拨码开关传送到指示位复位工位;
步骤1.6:指示位复位装置中的伺服电机获得当前指示位k后,伺服电机从90°顺时针旋转k×36°,旋转完毕后通过TCP/IP总线发出伺服电机就绪信号给PLC控制***;
步骤1.7:十位旋转拨码开关进入指示位复位工位的夹具后,通过TCP/IP总线发出指示位复位工位就绪信号给PLC控制***;
步骤1.8:PLC控制***同时接收到伺服电机就绪信号和指示位复位工位就绪信号后,通过TCP/IP总线向气缸发出触发信号;
步骤1.9:气缸接收到触发信号后,从高位向下运动至低位,使一字型批头进入十位旋转拨码开关的指针槽中,完毕后通过TCP/IP总线向PLC控制***发出气缸伸出信号;
步骤1.10:PLC控制***接收到气缸伸出信号后,通过TCP/IP总线向伺服电机发出触发信号;
步骤1.11:伺服电机接收到触发信号后,逆时针旋转k×36°,使指示位复位至0,完毕后通过TCP/IP总线向PLC控制***发出指示位复位完毕信号;
步骤1.12:PLC控制***接收到指示位复位完毕信号后,通过TCP/IP总线通知气缸从低位向上运动至高位,并通知伺服电机旋转至90°,同时通知传送机构将十位旋转拨码开关传送到编码状态与指示位检测工位。
更进一步的,所述指示位检测算法包括以下步骤:
步骤2.1:从指示位检测工位的工业相机拍摄的图像中心,截取600×800(宽×高)像素大小的矩形图像子块,作为指示位检测算法的输入图像;
步骤2.2:使用圆形区域检测算法,从输入图像中检测出十位旋转拨码开关中心的圆形区域;
步骤2.3:对检测出的圆形区域计算区域描述子,得到圆形区域的质心坐标[xo,yo],将其作为圆形区域的圆心;
步骤2.4:采用Sobel算子对检测出的圆形区域进行边缘检测,利用边缘上所有像素点[xi,yi],i∈[1,n]与圆心[xo,yo]间的距离均值计算圆形区域的半径ro,计算公式为:
其中n为圆形区域边缘上像素点的个数;
步骤2.5:以圆心[xo,yo]为原点,水平向右为0°,逆时针方向构造指示位0至9的默认角度值,其中相邻两个指示位间隔36°,得到指示位0至9的默认角度值依次为90°、54°、18°、342°、306°、270°、234°、198°、162°、126°;
步骤2.6:利用指针区域检测算法,从步骤2.2得到的圆形区域中检测出指针区域;
步骤2.7:对检测出的指针区域采用指针角度检测算法,计算得到指针角度值β;
步骤2.8:将指针角度值β依次与指示位0至9的默认角度值进行比较,当指针角度值β与指示位k,k∈[0,9]的角度值相差±5°以内时,判定十位旋转拨码开关的当前指示位为k。
更进一步的,所述圆形区域检测算法包括以下步骤:
步骤3.1:使用Otsu阈值对指示位检测算法的输入图像进行全局阈值分割,得到输入图像的二值图像,其中黑色为图像背景、白色为前景区域;
步骤3.2:对二值图像进行孔洞填充,以补全前景区域内的背景部分;
步骤3.3:对孔洞填充后的结果进行边界区域清除,以去除掉孔洞填充结果中与图像边界相连通的前景区域;
步骤3.4:构造边长为30像素的方形结构元素,对边界区域清除的结果进行腐蚀操作;
步骤3.5:将腐蚀结果作为标记,将边界区域清除结果作为掩模,进行形态学重构;
步骤3.6:对形态学重构的结果计算区域描述子,得到形态学重构结果中的所有前景区域,以及每个前景区域的面积;
步骤3.7:在所有前景区域中取面积最大的区域,将其判定为十位旋转拨码开关中心的圆形区域。
更进一步的,所述指针区域检测算法包括以下步骤:
步骤4.1:利用十位旋转拨码开关中心的圆形区域的圆心[xo,yo]和半径ro,在指示位检测算法的输入图像中仅保留圆形区域图像,其余部分填充为黑色,作为指针区域检测算法的输入图像;
步骤4.2:将指针区域检测算法的输入图像转为灰度图;
步骤4.3:采用Canny算子对灰度图进行边缘检测,得到边缘图;
步骤4.4:计算边缘图中每个像素与圆心[xo,yo]间的距离,并将距离超过ro-20的像素剔除,以清除掉圆周上的边缘像素,仅保留下指针区域的边缘像素;
步骤4.5:构造边长为3像素的方形结构元素,对保留的指针区域边缘像素进行膨胀操作;
步骤4.6:对膨胀结果进行孔洞填充,以连通指针区域内的像素;
步骤4.7:构造边长为30像素的方形结构元素,对孔洞填充结果进行腐蚀操作;
步骤4.8:将腐蚀结果作为标记,将孔洞填充结果作为掩模,进行形态学重构;
步骤4.9:对形态学重构的结果计算区域描述子,得到形态学重构结果中的所有前景区域,以及每个前景区域的面积;
步骤4.10:在所有前景区域中取面积最大的区域,将其判定为圆形区域中的指针区域。
更进一步的,所述指针角度检测算法包括以下步骤:
步骤5.1:对指针区域计算区域描述子,得到指针区域的主轴角度α∈[-90°,90°],并利用圆形区域的圆心[xo,yo]和主轴角度α,构造指针区域的主轴线;
步骤5.2:采用Canny算子对指针区域进行边缘检测,得到指针区域的边缘;
步骤5.5:将两个矩形区域与指针区域进行像素对间的图像相乘,得到矩形区域与指针区域的所有重叠区域;
步骤5.6:在所有重叠区域中,分别对每个连通的重叠区域计算区域描述子,得到每个连通重叠区域的质心坐标和面积;
步骤5.7:将所有连通重叠区域的面积从大到小做降序排列,将面积最大的连通重叠区域判定为指针的尾部区域,将面积第二大的连通重叠区域判定为指针的头部区域;
步骤5.8:对指针头部区域计算区域描述子,得到指针头部区域的质心坐标[xc,yc];
步骤5.9:利用指针头部区域的质心[xc,yc]、圆形区域的圆心[xo,yo]和指针区域的主轴角度α,计算得到指针角度值β∈[0°,360°),计算公式为:
与现有技术相比,本发明的有益效果是:本发明解决了现有十位旋转拨码开关生产过程中检测编码状态与指示位是否对应多采用人工复位方式,成本高、效率低,准确性差的问题。本发明通过指示位检测装置采集待复位的十位旋转拨码开关的图像信息,并通过定义的指示位检测算法检测十位旋转拨码开关的当前指示位,再利用指示位复位装置实现对十位旋转拨码开关的指示位自动复位操作;显著减少人工复位成本,增加指示位复位准确率,提高检测效率,投入小,便于操作,具有极大的市场前景。
附图说明
图1为本发明所述的一种基于视觉的十位旋转拨码开关复位***结构示意图;
图2为本发明所述的一种基于视觉的十位旋转拨码开关复位方法的指示位检测算法流程框图;
图3为本发明所述的一种基于视觉的十位旋转拨码开关复位方法的圆形区域检测算法流程框图;
图4为本发明所述的一种基于视觉的十位旋转拨码开关复位方法的指针区域检测算法流程框图;
图5为本发明所述的一种基于视觉的十位旋转拨码开关复位方法的指针角度检测算法流程框图;
图6为本发明所述的指示位检测算法采集的指示位0的十位旋转拨码开关示意图;
图7为本发明所述的指示位检测算法采集的指示位1的十位旋转拨码开关示意图;
图8为本发明所述的圆形区域检测算法对图7进行Otsu二值分割的结果示意图;
图9为本发明所述的圆形区域检测算法对图8进行孔洞填充和边界区域清除的结果示意图;
图10为本发明所述的圆形区域检测算法对图9形态学重构后取面积最大的区域,得到的圆形区域检测结果的示意图;
图11为本发明所述的指示位检测算法对图10的圆形区域计算得到的圆心[xo,yo]和半径ro的结果示意图;
图12为本发明所述的指示位检测算法利用图11的圆心为原点,对图7构造的指示位 0至9的默认角度值的结果示意图;
图13为本发明所述的指针区域检测算法利用图11的圆心和半径,在图7中仅保留圆形区域图像并转为灰度图的结果示意图;
图14为本发明所述的指针区域检测算法对图13进行Canny边缘检测并剔除掉圆周边缘像素的结果示意图;
图15为本发明所述的指针区域检测算法对图14膨胀和孔洞填充的结果示意图;
图16为本发明所述的指针区域检测算法对图15形态学重构后取面积最大的区域,得到的指针区域检测结果的示意图;
图17为本发明所述的指针角度检测算法对图16计算指针区域的主轴角度α,并利用主轴角度和图11的圆心构造的指针区域主轴线的结果示意图;
图18为本发明所述的指针角度检测算法对图16进行Canny边缘检测得到的指针区域边缘,并计算边缘与图17的主轴线的交点坐标的结果示意图;
图19为本发明所述的指针角度检测算法利用图18的两个交点,构造以每个交点为中心、垂直于主轴线的矩形区域的结果示意图;
图20为本发明所述的指针角度检测算法对图19的矩形区域与图16的指针区域进行像素对间的图像相乘得到的重叠区域,然后计算每个连通重叠区域的区域描述子并取面积第二大的连通重叠区域作为指针的头部区域,再对指针头部区域计算区域描述子得到头部区域质心坐标[xc,yc]的结果示意图;
图21为本发明所述的指针角度检测算法利用指针头部区域的质心[xc,yc]、圆形区域的圆心[xo,yo]和指针区域的主轴角度α,计算得到的指针角度值β的结果示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地阐述。
参见图1说明本实施方式,一种基于视觉的十位旋转拨码开关复位***,它包括PLC 控制***、总线、指示位检测装置和指示位复位装置,所述PLC控制***与总线通讯连接,所述指示位检测装置包括工业相机和工控机,所述工业相机安装在待复位的十位旋转拨码开关夹具的正上方,所述工业相机与工控机通讯连接,所述工控机与PLC控制***通讯连接,所述指示位检测装置所在的区域为指示位检测工位;所述指示位复位装置包括气缸、伺服电机和批头,所述气缸通过I/O模块与总线通讯连接,所述伺服电机与总线通讯连接,所述气缸的伸缩杆与伺服电机相连,所述伺服电机的输出轴与批头固定相连,所述指示位复位装置位于待复位的十位旋转拨码开关夹具的正上方,所述指示位复位装置所在的区域为指示位复位工位。
本实施例所述总线为TCP/IP总线,所述工业相机通过GigE与工控机通讯连接,所述工控机通过RS232模块与PLC控制***通讯连接,所述批头为一字型批头
本发明还提供了一种基于视觉的十位旋转拨码开关的复位方法,它包括以下步骤:
步骤1.1:当十位旋转拨码开关进入指示位检测工位的夹具后,PLC控制***通过RS232模块向工控机发出指示位检测工位就绪信号;
步骤1.2:工控机获得指示位检测工位就绪信号后,通过GigE向工业相机发出一个触发信号;
步骤1.3:工业相机获得触发信号后,拍摄一幅图像,并通过GigE向工控机传送拍摄的图像;
步骤1.4:工控机获得图像后,根据指示位检测算法计算当前指示位k,并将当前指示位k通过RS232模块输送给PLC控制***;
步骤1.5:PLC控制***获得当前指示位k后,将当前指示位k通过TCP/IP总线输送给指示位复位装置中的伺服电机,同时通过TCP/IP总线通知传送机构将十位旋转拨码开关传送到指示位复位工位;
步骤1.6:指示位复位装置中的伺服电机获得当前指示位k后,伺服电机从90°顺时针旋转k×36°,旋转完毕后通过TCP/IP总线发出伺服电机就绪信号给PLC控制***;
步骤1.7:十位旋转拨码开关进入指示位复位工位的夹具后,通过TCP/IP总线发出指示位复位工位就绪信号给PLC控制***;
步骤1.8:PLC控制***同时接收到伺服电机就绪信号和指示位复位工位就绪信号后,通过TCP/IP总线向气缸发出触发信号;
步骤1.9:气缸接收到触发信号后,从高位向下运动至低位,使一字型批头进入十位旋转拨码开关的指针槽中,完毕后通过TCP/IP总线向PLC控制***发出气缸伸出信号;
步骤1.10:PLC控制***接收到气缸伸出信号后,通过TCP/IP总线向伺服电机发出触发信号;
步骤1.11:伺服电机接收到触发信号后,逆时针旋转k×36°,使指示位复位至0,完毕后通过TCP/IP总线向PLC控制***发出指示位复位完毕信号;
步骤1.12:PLC控制***接收到指示位复位完毕信号后,通过TCP/IP总线通知气缸从低位向上运动至高位,并通知伺服电机旋转至90°,同时通知传送机构将十位旋转拨码开关传送到编码状态与指示位检测工位。
更进一步的,所述指示位检测算法包括以下步骤:
步骤2.1:从指示位检测工位的工业相机拍摄的图像中心,截取600×800(宽×高)像素大小的矩形图像子块,作为指示位检测算法的输入图像;
步骤2.2:使用圆形区域检测算法,从输入图像中检测出十位旋转拨码开关中心的圆形区域;
步骤2.3:对检测出的圆形区域计算区域描述子,得到圆形区域的质心坐标[xo,yo],将其作为圆形区域的圆心;
步骤2.4:采用Sobel算子对检测出的圆形区域进行边缘检测,利用边缘上所有像素点[xi,yi],i∈[1,n]与圆心[xo,yo]间的距离均值计算圆形区域的半径ro,计算公式为:
其中n为圆形区域边缘上像素点的个数;
步骤2.5:以圆心[xo,yo]为原点,水平向右为0°,逆时针方向构造指示位0至9的默认角度值,其中相邻两个指示位间隔36°,得到指示位0至9的默认角度值依次为90°、54°、18°、342°、306°、270°、234°、198°、162°、126°;
步骤2.6:利用指针区域检测算法,从步骤2.2得到的圆形区域中检测出指针区域;
步骤2.7:对检测出的指针区域采用指针角度检测算法,计算得到指针角度值β;
步骤2.8:将指针角度值β依次与指示位0至9的默认角度值进行比较,当指针角度值β与指示位k,k∈[0,9]的角度值相差±5°以内时,判定十位旋转拨码开关的当前指示位为k。
更进一步的,所述圆形区域检测算法包括以下步骤:
步骤3.1:使用Otsu阈值对指示位检测算法的输入图像进行全局阈值分割,得到输入图像的二值图像,其中黑色为图像背景、白色为前景区域;
步骤3.2:对二值图像进行孔洞填充,以补全前景区域内的背景部分;
步骤3.3:对孔洞填充后的结果进行边界区域清除,以去除掉孔洞填充结果中与图像边界相连通的前景区域;
步骤3.4:构造边长为30像素的方形结构元素,对边界区域清除的结果进行腐蚀操作;
步骤3.5:将腐蚀结果作为标记,将边界区域清除结果作为掩模,进行形态学重构;
步骤3.6:对形态学重构的结果计算区域描述子,得到形态学重构结果中的所有前景区域,以及每个前景区域的面积;
步骤3.7:在所有前景区域中取面积最大的区域,将其判定为十位旋转拨码开关中心的圆形区域。
更进一步的,所述指针区域检测算法包括以下步骤:
步骤4.1:利用十位旋转拨码开关中心的圆形区域的圆心[xo,yo]和半径ro,在指示位检测算法的输入图像中仅保留圆形区域图像,其余部分填充为黑色,作为指针区域检测算法的输入图像;
步骤4.2:将指针区域检测算法的输入图像转为灰度图;
步骤4.3:采用Canny算子对灰度图进行边缘检测,得到边缘图;
步骤4.4:计算边缘图中每个像素与圆心[xo,yo]间的距离,并将距离超过ro-20的像素剔除,以清除掉圆周上的边缘像素,仅保留下指针区域的边缘像素;
步骤4.5:构造边长为3像素的方形结构元素,对保留的指针区域边缘像素进行膨胀操作;
步骤4.6:对膨胀结果进行孔洞填充,以连通指针区域内的像素;
步骤4.7:构造边长为30像素的方形结构元素,对孔洞填充结果进行腐蚀操作;
步骤4.8:将腐蚀结果作为标记,将孔洞填充结果作为掩模,进行形态学重构;
步骤4.9:对形态学重构的结果计算区域描述子,得到形态学重构结果中的所有前景区域,以及每个前景区域的面积;
步骤4.10:在所有前景区域中取面积最大的区域,将其判定为圆形区域中的指针区域。
更进一步的,所述指针角度检测算法包括以下步骤:
步骤5.1:对指针区域计算区域描述子,得到指针区域的主轴角度α∈[-90°,90°],并利用圆形区域的圆心[xo,yo]和主轴角度α,构造指针区域的主轴线;
步骤5.2:采用Canny算子对指针区域进行边缘检测,得到指针区域的边缘;
步骤5.5:将两个矩形区域与指针区域进行像素对间的图像相乘,得到矩形区域与指针区域的所有重叠区域;
步骤5.6:在所有重叠区域中,分别对每个连通的重叠区域计算区域描述子,得到每个连通重叠区域的质心坐标和面积;
步骤5.7:将所有连通重叠区域的面积从大到小做降序排列,将面积最大的连通重叠区域判定为指针的尾部区域,将面积第二大的连通重叠区域判定为指针的头部区域;
步骤5.8:对指针头部区域计算区域描述子,得到指针头部区域的质心坐标[xc,yc];
步骤5.9:利用指针头部区域的质心[xc,yc]、圆形区域的圆心[xo,yo]和指针区域的主轴角度α,计算得到指针角度值β∈[0°,360°),计算公式为:
以上对本发明所提供的一种基于视觉的十位旋转拨码开关复位***及复位方法,进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。
Claims (9)
1.一种基于视觉的十位旋转拨码开关复位***的复位方法,所述复位***包括PLC控制***、总线、指示位检测装置和指示位复位装置,所述PLC控制***与总线通讯连接,所述指示位检测装置包括工业相机和工控机,所述工业相机安装在待复位的十位旋转拨码开关夹具的正上方,所述工业相机与工控机通讯连接,所述工控机与PLC控制***通讯连接,所述指示位检测装置所在的区域为指示位检测工位;所述指示位复位装置包括气缸、伺服电机和批头,所述气缸通过I/O模块与总线通讯连接,所述伺服电机与总线通讯连接,所述气缸的伸缩杆与伺服电机相连,所述伺服电机的输出轴与批头固定相连,所述指示位复位装置位于待复位的十位旋转拨码开关夹具的正上方,所述指示位复位装置所在的区域为指示位复位工位,其特征在于:所述复位方法包括以下步骤:
步骤1.1:当十位旋转拨码开关进入指示位检测工位的夹具后,PLC控制***通过RS232模块向工控机发出指示位检测工位就绪信号;
步骤1.2:工控机获得指示位检测工位就绪信号后,通过GigE向工业相机发出一个触发信号;
步骤1.3:工业相机获得触发信号后,拍摄一幅图像,并通过GigE向工控机传送拍摄的图像;
步骤1.4:工控机获得图像后,根据指示位检测算法计算当前指示位k,并将当前指示位k通过RS232模块输送给PLC控制***;
步骤1.5:PLC控制***获得当前指示位k后,将当前指示位k通过TCP/IP总线输送给指示位复位装置中的伺服电机,同时通过TCP/IP总线通知传送机构将十位旋转拨码开关传送到指示位复位工位;
步骤1.6:指示位复位装置中的伺服电机获得当前指示位k后,伺服电机从90°顺时针旋转k×36°,旋转完毕后通过TCP/IP总线发出伺服电机就绪信号给PLC控制***;
步骤1.7:十位旋转拨码开关进入指示位复位工位的夹具后,通过TCP/IP总线发出指示位复位工位就绪信号给PLC控制***;
步骤1.8:PLC控制***同时接收到伺服电机就绪信号和指示位复位工位就绪信号后,通过TCP/IP总线向气缸发出触发信号;
步骤1.9:气缸接收到触发信号后,从高位向下运动至低位,使一字型批头进入十位旋转拨码开关的指针槽中,完毕后通过TCP/IP总线向PLC控制***发出气缸伸出信号;
步骤1.10:PLC控制***接收到气缸伸出信号后,通过TCP/IP总线向伺服电机发出触发信号;
步骤1.11:伺服电机接收到触发信号后,逆时针旋转k×36°,使指示位复位至0,完毕后通过TCP/IP总线向PLC控制***发出指示位复位完毕信号;
步骤1.12:PLC控制***接收到指示位复位完毕信号后,通过TCP/IP总线通知气缸从低位向上运动至高位,并通知伺服电机旋转至90°,同时通知传送机构将十位旋转拨码开关传送到编码状态与指示位检测工位。
2.根据权利要求1所述的一种基于视觉的十位旋转拨码开关复位***的复位方法,其特征在于:所述指示位检测算法包括以下步骤:
步骤2.1:从指示位检测工位的工业相机拍摄的图像中心,截取600×800(宽×高)像素大小的矩形图像子块,作为指示位检测算法的输入图像;
步骤2.2:使用圆形区域检测算法,从输入图像中检测出十位旋转拨码开关中心的圆形区域;
步骤2.3:对检测出的圆形区域计算区域描述子,得到圆形区域的质心坐标[xo,yo],将其作为圆形区域的圆心;
步骤2.4:采用Sobel算子对检测出的圆形区域进行边缘检测,利用边缘上所有像素点[xi,yi],i∈[1,n]与圆心[xo,yo]间的距离均值计算圆形区域的半径ro,计算公式为:
其中n为圆形区域边缘上像素点的个数;
步骤2.5:以圆心[xo,yo]为原点,水平向右为0°,逆时针方向构造指示位0至9的默认角度值,其中相邻两个指示位间隔36°,得到指示位0至9的默认角度值依次为90°、54°、18°、342°、306°、270°、234°、198°、162°、126°;
步骤2.6:利用指针区域检测算法,从步骤2.2得到的圆形区域中检测出指针区域;
步骤2.7:对检测出的指针区域采用指针角度检测算法,计算得到指针角度值β;
步骤2.8:将指针角度值β依次与指示位0至9的默认角度值进行比较,当指针角度值β与指示位k,k∈[0,9]的角度值相差±5°以内时,判定十位旋转拨码开关的当前指示位为k。
3.根据权利要求2所述的一种基于视觉的十位旋转拨码开关复位***的复位方法,其特征在于:所述圆形区域检测算法包括以下步骤:
步骤3.1:使用Otsu阈值对指示位检测算法的输入图像进行全局阈值分割,得到输入图像的二值图像,其中黑色为图像背景、白色为前景区域;
步骤3.2:对二值图像进行孔洞填充,以补全前景区域内的背景部分;
步骤3.3:对孔洞填充后的结果进行边界区域清除,以去除掉孔洞填充结果中与图像边界相连通的前景区域;
步骤3.4:构造边长为30像素的方形结构元素,对边界区域清除的结果进行腐蚀操作;
步骤3.5:将腐蚀结果作为标记,将边界区域清除结果作为掩模,进行形态学重构;
步骤3.6:对形态学重构的结果计算区域描述子,得到形态学重构结果中的所有前景区域,以及每个前景区域的面积;
步骤3.7:在所有前景区域中取面积最大的区域,将其判定为十位旋转拨码开关中心的圆形区域。
4.根据权利要求2所述的一种基于视觉的十位旋转拨码开关复位***的复位方法,其特征在于:所述指针区域检测算法包括以下步骤:
步骤4.1:利用十位旋转拨码开关中心的圆形区域的圆心[xo,yo]和半径ro,在指示位检测算法的输入图像中仅保留圆形区域图像,其余部分填充为黑色,作为指针区域检测算法的输入图像;
步骤4.2:将指针区域检测算法的输入图像转为灰度图;
步骤4.3:采用Canny算子对灰度图进行边缘检测,得到边缘图;
步骤4.4:计算边缘图中每个像素与圆心[xo,yo]间的距离,并将距离超过ro-20的像素剔除,以清除掉圆周上的边缘像素,仅保留下指针区域的边缘像素;
步骤4.5:构造边长为3像素的方形结构元素,对保留的指针区域边缘像素进行膨胀操作;
步骤4.6:对膨胀结果进行孔洞填充,以连通指针区域内的像素;
步骤4.7:构造边长为30像素的方形结构元素,对孔洞填充结果进行腐蚀操作;
步骤4.8:将腐蚀结果作为标记,将孔洞填充结果作为掩模,进行形态学重构;
步骤4.9:对形态学重构的结果计算区域描述子,得到形态学重构结果中的所有前景区域,以及每个前景区域的面积;
步骤4.10:在所有前景区域中取面积最大的区域,将其判定为圆形区域中的指针区域。
5.根据权利要求2所述的一种基于视觉的十位旋转拨码开关复位***的复位方法,其特征在于:所述指针角度检测算法包括以下步骤:
步骤5.1:对指针区域计算区域描述子,得到指针区域的主轴角度α∈[-90°,90°],并利用圆形区域的圆心[xo,yo]和主轴角度α,构造指针区域的主轴线;
步骤5.2:采用Canny算子对指针区域进行边缘检测,得到指针区域的边缘;
步骤5.5:将两个矩形区域与指针区域进行像素对间的图像相乘,得到矩形区域与指针区域的所有重叠区域;
步骤5.6:在所有重叠区域中,分别对每个连通的重叠区域计算区域描述子,得到每个连通重叠区域的质心坐标和面积;
步骤5.7:将所有连通重叠区域的面积从大到小做降序排列,将面积最大的连通重叠区域判定为指针的尾部区域,将面积第二大的连通重叠区域判定为指针的头部区域;
步骤5.8:对指针头部区域计算区域描述子,得到指针头部区域的质心坐标[xc,yc];
步骤5.9:利用指针头部区域的质心[xc,yc]、圆形区域的圆心[xo,yo]和指针区域的主轴角度α,计算得到指针角度值β∈[0°,360°),计算公式为:
6.根据权利要求1所述的一种基于视觉的十位旋转拨码开关复位***的复位方法,其特征在于:所述总线为TCP/IP总线。
7.根据权利要求1所述的一种基于视觉的十位旋转拨码开关复位***的复位方法,其特征在于:所述工业相机通过GigE与工控机通讯连接。
8.根据权利要求1所述的一种基于视觉的十位旋转拨码开关复位***的复位方法,其特征在于:所述工控机通过RS232模块与PLC控制***通讯连接。
9.根据权利要求1所述的一种基于视觉的十位旋转拨码开关复位***的复位方法,其特征在于:所述批头为一字型批头。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911292517.1A CN111103533B (zh) | 2019-12-12 | 2019-12-12 | 一种基于视觉的十位旋转拨码开关复位***的复位方法 |
PCT/CN2020/083116 WO2021114521A1 (zh) | 2019-12-12 | 2020-04-03 | 一种基于视觉的十位旋转拨码开关复位***及复位方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911292517.1A CN111103533B (zh) | 2019-12-12 | 2019-12-12 | 一种基于视觉的十位旋转拨码开关复位***的复位方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111103533A CN111103533A (zh) | 2020-05-05 |
CN111103533B true CN111103533B (zh) | 2020-09-25 |
Family
ID=70421810
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911292517.1A Active CN111103533B (zh) | 2019-12-12 | 2019-12-12 | 一种基于视觉的十位旋转拨码开关复位***的复位方法 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN111103533B (zh) |
WO (1) | WO2021114521A1 (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2022032648A1 (zh) * | 2020-08-14 | 2022-02-17 | 常州机电职业技术学院 | 基于机器视觉的3362电位器机械角度复位***及复位方法 |
CN112066914B (zh) * | 2020-08-14 | 2021-12-21 | 常州机电职业技术学院 | 基于机器视觉的3362电位器机械角度复位***及复位方法 |
Family Cites Families (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7599435B2 (en) * | 2004-01-30 | 2009-10-06 | Fraunhofer-Gesellschaft Zur Foerderung Der Angewandten Forschung E.V. | Video frame encoding and decoding |
DE102005015826A1 (de) * | 2005-04-06 | 2006-10-19 | Infineon Technologies Ag | Verfahren und System zur optischen Inspektion von Kontaktflächen (Kontaktpads) an Halbleiter-Bauelementen mit unterschiedlichem Erscheinungsbild |
US20070247421A1 (en) * | 2006-04-25 | 2007-10-25 | Timothy James Orsley | Capacitive-based rotational positioning input device |
CN201450494U (zh) * | 2009-05-08 | 2010-05-05 | 徐军 | 编码式可调脉冲数和远距离传输的手提脉冲发生器 |
CN204029688U (zh) * | 2014-08-13 | 2014-12-17 | 石家庄八五零电子有限公司 | 具有自复位功能的旋转开关 |
CN107292310B (zh) * | 2017-06-19 | 2020-10-09 | 电子科技大学 | 一种圆形指针式表盘视觉定位及自动读数方法 |
CN107679535B (zh) * | 2017-09-16 | 2021-02-26 | 西安电子科技大学 | 一种基于模板匹配的指针式水表自动读数识别***及方法 |
CN108460327B (zh) * | 2018-01-12 | 2021-09-28 | 河南大学 | 一种基于图像处理的指针式仪表读数自动识别方法 |
CN109146974A (zh) * | 2018-09-07 | 2019-01-04 | 广东中粤电力科技有限公司 | 一种指针式仪表读数识别方法及*** |
CN109459970B (zh) * | 2018-10-26 | 2019-10-25 | 常州机电职业技术学院 | 一种基于视觉的椭圆孔电位器角度复位***及复位方法 |
CN109544628B (zh) * | 2018-11-23 | 2021-08-31 | 福州大学 | 一种指针式仪表的准确读数识别***及方法 |
CN109977831A (zh) * | 2019-03-19 | 2019-07-05 | 河海大学常州校区 | 一种基于数字图像处理的旋钮识别方法 |
CN110456254A (zh) * | 2019-08-20 | 2019-11-15 | 南京优倍自动化***有限公司 | 一种用于pcb板的自动检测设备及方法 |
-
2019
- 2019-12-12 CN CN201911292517.1A patent/CN111103533B/zh active Active
-
2020
- 2020-04-03 WO PCT/CN2020/083116 patent/WO2021114521A1/zh active Application Filing
Also Published As
Publication number | Publication date |
---|---|
CN111103533A (zh) | 2020-05-05 |
WO2021114521A1 (zh) | 2021-06-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111103533B (zh) | 一种基于视觉的十位旋转拨码开关复位***的复位方法 | |
CN107704844B (zh) | 基于无人机双目视差图像的输电线路覆冰厚度辨识方法 | |
CN109525194B (zh) | 光伏板故障光斑检测识别方法和*** | |
CN101398907B (zh) | 一种用于移动机器人的二维码结构及解码方法 | |
CN107392849B (zh) | 基于图像细分的靶标识别与定位方法 | |
CN107358628B (zh) | 基于靶标的线阵图像处理方法 | |
CN108693194A (zh) | 钢板生产线点阵喷码机器视觉自动检测*** | |
CN109975759B (zh) | 一种基于三色激光的水下无人机定位方法及装置 | |
CN103438834A (zh) | 基于结构光投影的层级式快速三维测量装置及测量方法 | |
CN111080640B (zh) | 一种孔洞检测方法、装置、设备和介质 | |
CN106813569A (zh) | 一种基于线结构光的汽车轮胎三维定位方法 | |
CN110705433A (zh) | 一种基于视觉感知的桥梁变形的监测方法、装置及设备 | |
CN113989766A (zh) | 道路边缘检测方法、应用于车辆的道路边缘检测设备 | |
CN112149713A (zh) | 基于绝缘子图像检测模型检测绝缘子图像的方法及装置 | |
CN113554667A (zh) | 一种基于图像识别的三维位移检测方法及装置 | |
CN110570354B (zh) | 一种基于长条形棋盘格标定板的近景图像拼接方法 | |
CN116862910A (zh) | 基于自动化裁切生产的视觉检测方法 | |
CN109816738B (zh) | 一种基于编码结构光的条纹边界提取方法 | |
CN117058063A (zh) | 电池缺陷检测方法、装置和电子设备 | |
CN111045431B (zh) | 基于色带的移动机器人导航方法及*** | |
CN112066914B (zh) | 基于机器视觉的3362电位器机械角度复位***及复位方法 | |
CN104850869A (zh) | 一种高速铁路cpⅲ标志物的自动识别***及方法 | |
CN112418226A (zh) | 一种鱼眼分合闸状态识别的方法及装置 | |
CN106846418A (zh) | 一种验电挂地线机器人视觉定位*** | |
CN1924898A (zh) | 畸变qr码图像的扭正方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |