依据机器视觉的手机产品条码检测计划

来源:优游ub8     发布日期:2024-04-18 10:03:44

  本计划将树立一个依据机器视觉的流水线检测手机条码渠道,把产品放置于流水线上,高速工业相机对其逐个收集后传送到核算机进行一系列的处理,终究检测出条码是否合格并把不合格的条码分拣出来, 完结主动检测手机条码质量的功用。

  其包括:流水线运送设备、照明设备、高速相机图画收集设备、核算机图画处理部分。

  本计划中运送目标的质量较小,不需求过多考虑运送带的承载才能问题,也不涉及到产品的装载和拆开,所以选用一般的带式运送带结构,以步进电机带动传输带同步轮作为滚筒, 并用一块单片机对步进电机进行简略的运动操控然后操控传输带传输开关和速度。 一起,为了在图画收集时能把手机产品条码与布景有显着区别,传输带色彩为深黑色。

  成像体系的是本计划最重要的一环。本计划中,检测目标为条形码,其形状较大且特征显着, 因而不要求相机需求十分高的分辨率。 可是,本计划是一个实时处理的规划,因而要求图画收集处理的速度要高于检测目标的检测速率,即相机的最大帧率要高; 而成像物体是运动的, 为了防止收集到的图画呈现含糊等问题,应选用大局电子快门办法的相机; 在外,还要求该相机支撑外触发快门以及能与核算机进行快速数据传输的特色。综上,该工业相机应有以下特色:

  归纳考虑,本计划挑选选用 德国Basler 公司制作的 acA800-200gc/gm 类型工业相机,其参数如下:

  本计划选用传感器触发办法对相机快门进行操控。规划中传输带为黑色,条码布景为白色, 它们的反射才能有很大间隔, 因而漫射式光电传感器能很好地运用该点检测产品条码是否进入相机的拍照规模。 把光电传感器笔直置于传输带上方并紧贴相机,当条码抵达传感器下方时,反射光发生改变,触发开关状况,经过开关状况直接操控相机快门,然后到达主动对条码图画的收集的意图。

  常用的机器视觉光源有 LED光源、卤素灯(光纤光源)、高频荧光灯。 LED 光源最常用, 其运用寿命长, 且因为 LED光源是选用多颗 LED摆放而成, 可以规划成杂乱的结构, 完成不同的光源照耀视点。 因为本计划中检测的是条码, 为一润滑平面,选用漫反射环形 LED光源对其进行照耀, 能很好地把产品条码与传输带黑色布景区别出来。 其间值得注意的是, 光源的高度和视点必定要调整好, 直至相机拍照出来的图画能把条码与布景完美区别中止,并且还不能有反光。

  本计划检测速度约为两秒1件,因而进行图画处理的核算机选用cpu主频较高( 3GH以上)的一般工作用核算机即可满足要求。选用MATLAB作为首要图画处理软件。

  核算机从数据接口中取得的条码图画是高速相机直接拍照而未经处理的图画,其因为 CMOS特性以及放置等要素或许会呈现噪声、歪斜等问题,并且得到的图画为五颜六色图画, 因而在对条码进行检测前应先对原图画进行预处理。预处理包括:滤波去噪、二值化处理、歪斜纠正三部分。

  本计划中选用的 CMOS相机,其集成度高的特色带来了元件搅扰噪声。因而有必要对这些图画去除随机噪声的搅扰。经试验,本计划中图画的噪声多为椒盐噪声,即噪声点在图画上常常表现为孤立像素点,其像素灰度与它附近像素灰度有显着的不同,因而具有更高的频谱。针对噪声的类型,咱们选用中值滤波,其关于脉冲搅扰及椒盐噪声有杰出的抑制作用,且能较好坚持图画边际。 从条码图画的特征来看, 其特色在所以由纵向必定宽度黑白条空组成,咱们经过树立不同巨细的模板,对含有噪声的图画进行滤波处理, 比较它们的滤除噪声搅扰的作用。在 MATLAB中可以运用 filter2 函数调用创建好的滤波器,经验证, 3x3 正方形滤波器作用最好,因而本计划选用3x3 中值滤波器。

  为了便于对图画进行后续处理,需求对图画进行二值化处理。本计划中产品条码为底面为白色的长方形贴纸,布景为黑色的传输带, 直接从相机中获取的图画为五颜六色图画,把获取的图画进行灰度化处理之后,再经二值化处理后能便于把产品条码的贴纸切割出来。 可运用MATLAB的 rgb2gray()函数可以把五颜六色图画转化为灰度图画后,再运用 im2bw()函数可以很便利地对图画进行二值化处理,阈值取 0.67 ,能得到较好的二值化图画。可见,二值化后纸面边际愈加明晰。

  因为物体在传送带上的方位并不固定, 所以相机所收集到的条码图画中条码区域或许呈现歪斜, 为便于后续的条码定位和切割提取有必要要将歪斜的条码图画转正。

  调查二值化后的条码图画, 可以发现纸面区域与布景有显着的近似矩形框区别,而歪斜的条码图画的显着特征便是其二值图画中纸面区域以必定视点旋转且其旋转视点不或许太大。所以完成歪斜条码图画的纠正首要要检测出歪斜视点,

  再以其视点值对其进行逆旋转得到包括条码的矩形区域呈水平的条码图画。 考虑到图画方位的随机性和核算杂乱度问题, 本计划决议选用 Hough改换法来完成歪斜条码图画的歪斜角的检测。 其完成办法是先运用MATLAB的 edge() 函数求出二值图画 的边 缘,再 用 其 Hough 改换相 关函数: hough() 、 houghpeaks() 、 houghlines() ,取得到最长边的开始点和中止点,运用斜率公式然后求出该条码图画的歪斜角,终究运用 imrotate() 旋转函数纠正图画的歪斜状况。经测验,作用不错。

  因为同一款手机产品,其条码的贴纸上的条码字符等信息的方位都是固定的,因而把图画中纸面部分切割出来后, 按固定方位的物理切割能很简略把条码部分切割出来。

  由二值化图画中可见贴纸与布景有显着的特征区别,咱们经过b wareaopen()函数处理后可把面积小的点吞噬掉,然后取得边际较为明晰的二值化图画。

  取得此图画后,对图画进行从左到右的逐行检测,得到其像素点第一次由黑到白改变点的坐标,即为该纸面边际的第一个坐标,记为P1;再用相同的办法别离从右到左、上到下、下到进步行检测,别离把检测到的坐符号为P2、 P3、P4,则该四个坐标确认了纸面的方位。终究调用 imcrop()函数,按这四个坐标把摆正后的图画的纸面切割出来。

  上文已阐明, 同一款手机产品其条码的贴纸上的条码字符等信息的方位都是固定的,因而对应同一款手机核算好其条码在贴纸上的方位,再次调用 imcrop()函数,能把贴纸上恣意部分切割出来。

  条码图画经过处理后终究得到的是只要黑白条空组成的二值图画, 该点的色彩信息在阔值改换时现已界说 ,用 255 和 0 表明白色和黑色, 则接下來的使命便是对此图画所包括的数字或英文字母信息进行译码, 即条码识读。

  ①宽度丈量法:在图画办法的译码过程中, 宽度的丈量不再选用传统的脉冲丈量法 , 而是经过记载每个条或空的宽度中所含象素的个数来确认实践的条 / 空宽度 , 然后确认整个条码符号所代表的信息。

  ②平均值法:对条码符号图画中从开始符到中止符整个宽度进行丈量 , 然后除以 95 规范宽度 , 求出单位模块所含的像素列宽, 再别离丈量各个条空的实践宽度此宽度以单位宽度为单位核算

  ③类似边间隔丈量法: 这种办法的规划思路是经过对符号中相邻元素的类似边之间间隔的丈量来判别字符的逻辑值, 而不是由各元素宽度的实践丈量值来判别。

  前两种办法对条码图画的要求十分高 , 因为它们都是丈量各元素符号的实践宽度 , 然后依据查表法得到所代表的码值。假如实践丈量值与规范值存在一点误差, 就不能完成正确译码。 而第三种办法正是有用的处理了这一问题 , 因而本计划选用类似边间隔丈量的办法来完成译码功用。理论上条形码字符的逻辑值应该由条形码的实践宽度来判别, 而类似边间隔办法的规划思维经过对符号中相邻元素的类似边之间间隔的丈量来判别字符的逻辑值,而不是由元素宽度的实践值来判别。此种办法的长处是: 即便条码质量存在欠缺,使得实践丈量值和条码应该具有的理论值有较大的误差, 仍然可以依据类似边的间隔可以正确解说。

  图中 C1,C2,C3,C4表明每个字符中四个相邻条、空的宽度, T 表明一个字符的宽度, T1,T2 表明类似边之间的间隔,把其归一化后按表查询即可取得其编码值。

  由 MATLAB 完成该办法,关键是要检测出类似边之间的间隔。可从左到右对条码进行水平灰度扫描, 以灰度值跳变的点作为条和空的符号坐标,然后核算出由各个条、空的宽度,并经过核算 n=T/7,T=1C+2C+3C+4C 得到单位模块的宽度。各个条空的宽度除以单位模块的宽度便是归一化的条空宽度。 而为了便利译码,咱们除掉开始符 3 个条空,中心分隔符 5 个条空,中止符3 个条空,对剩余的 48 个条空每 4 个条空为一组进行译码。核算类似边之间的间隔t1、 t2 然后得到归一化( T1,T2)。终究查表可得条码字符。再依据译出的左边6位数据符的奇偶性算出前置符。以下是译码作用:

  取得条码辨认的数据后,需求与条码下方的字符对照,验证条码的精确性。字符辨认的算法有许多, 因为该计划中只需求辨认简略的数字和英文字母,因而经过简略的 OCR 算法对其条码下方的数字、英文字母字符进行字符检测,再与

  辨认的条码字符相比较, 共同则显现该产品条码检测经过,不共同则记载该产品编码。

  首要树立一个字符模板数据库,用于字符匹配。该计划中需求辨认的字符只要英文和字母,因而数据库不大。

  接着,对图片进行水平方向的投影,这样有字符的当地的投影值就高,没字的当地投影得到的值就低。

  这些交点会将山头切割成一个又一个区域。该条码字符为 13 位,加上条码突出来的几点一共为 18 个区域,因而,当扫描线 个区域时中止。 然后依据这 18 个区域向水平线的投影的坐标就可以将图片中的 13(18)个字符切割出来。

  字符切割出来后,终究用 ORC神经网络匹配,把切割出来的字符与字符库里的字符图片进行匹配, 终究把字符辨认出来。把辨认出来的字符串与条码辨认出来的字符串比照,即可检测出该条码是否精确。

  1)对光源的摆置要求较高,依靠光源获取比照显着的图画,不然将或许呈现条码贴纸与布景切割失利的状况;

  2)虽然概率很低,但仍然存在某张条码检测失利的状况,此刻本计划的做法是对该次检测扔掉;

  3)本计划只对条码的编码质量进行了检测,即只对条码所包括的字符是否与该手机产品相关信息的编号字符相对应进行了检测,而没有对犯错的进行纠正。

上一篇:专心机器视觉检测设备 掌握电子工业晋级关键 思泰克IPO行将上会

下一篇:【大赛作品展】三等奖:根据5G的机器视觉带钢外表检测渠道(现场印象+视频+ppt)