计算机技术论坛

 找回密码
 立即注册

QQ登录

只需一步,快速开始

  • 欢迎访问 计算机技术论坛-电脑迷与初学者的家园!由于论坛管理严格,新注册会员可能遇到各种问题,无法解决的请发邮件 admin@jsjbbs.cn
查看: 1072|回复: 0

关于相似边距离测量条码译码识别方案

[复制链接]
发表于 2021-4-8 08:46:38 | 显示全部楼层 |阅读模式
#111723#一、名目内容
本计划将搭建一个基于呆板视觉的流水线检测手机条码平台,把产物放置于流水线上,高速产业相机对其逐个收集后传递到盘算机停止一系列的处置,终究检测出条码能否及格并把分歧格的条码分拣出来, 实现主动检测手机条码品质的功效。
检测工具:手机产物条码(包含产物码、 SN码、 IMEI 码)
实用范畴:流水线的主动出产线
检测速率:1 件/两秒( 20 厘米 / 秒)
(手机产物条码)
二、计划计划
2.1 整体构造表示图

(整体构造表示图)
其包含:流水线运送安装、照明安装、高速相机图象收集安装、盘算机图象处置部份。
2.2 硬件计划计划
2.2.1 流水线(传输带)运送机器安装计划
本计划中运送工具的品质较小,不须要过量斟酌运送带的承载才能成绩,也不触及到产物的装载和装配,以是采取一般的带式运送带构造,以步进机电动员传输携同步连作为滚筒, 并用一块单片机对步进机电停止简略的活动把持进而把持传输带传输开关和速率。同时,为了在图象收集时能把手机产物条码与配景有赫然辨别,传输带色彩为深玄色。

(带式传输带构造图)
2.2.2 产业相机拔取
成像体系的是本计划最主要的一环。本计划中,检测工具为条形码,其外形较大且特点显明, 因而不请求相机须要十分高的辨别率。 然而,本计划是一个及时处置的计划,因而请求图象收集处置的速率要高于检测工具的检测速度,即相机的最大帧率要高;而成像物体是活动的, 为了防止收集到的图象呈现含混等成绩,应采取全局电子快门方法的相机; 除外,还请求该相机支撑外触发快门以及能与盘算机停止疾速数据传输的特色。综上,该产业相机应有以下特色:
(1)最大帧率高
(2)全局电子快门帧暴光方法
(3)支撑外触发快门
(4)具有与盘算机停止疾速数据传输的接口
综合斟酌,本计划抉择采取 德国Basler 公司制作的 acA800-200gc/gm 型号产业相机,其参数以下:

(产业相机参数)
改产业相机合乎本计划计划请求。
2.2.3 光电传感器的拔取
本计划采取传感器触发方法对相机快门停止把持。计划中传输带为玄色,条码配景为白色, 它们的反射才能有很大差距, 因而漫射式光电传感器能很好天时用该点检测产物条码能否进入相机的拍摄范畴。 把光电传感器垂直置于传输带上方并紧贴相机,当条码达到传感器下方时,反射光产生变更,触发开关状况,通过开关状况直接把持相机快门,进而到达主动对条码图象的收集的目标。
2.2.4 光源的抉择与把持
常用的呆板视觉光源有 LED光源、卤素灯(光纤光源)、高频荧光灯。LED 光源最常用, 其应用寿命长, 且因为 LED光源是采取多颗 LED陈列而成, 能够计划成庞杂的构造, 实现差别的光源照耀角度。因为本计划中检测的是条码, 为一润滑立体,采取漫反射环形 LED光源对其停止照耀, 能很好地把产物条码与传输带玄色配景辨别出来。此中值得留神的是, 光源的高度和角度必定要调剂好, 直至相机拍摄出来的图象能把条码与配景完善辨别为止,并且还不能有反光。

(漫反射环形照耀)
2.3 软件平台情况
本计划检测速率约为两秒1件,因而停止图象处置的盘算机采取cpu主频较高( 3GH以上)的个别办公用盘算机便可满意请求。采取MATLAB作为重要图象处置软件。
2.3.1 条码图象的预处置
盘算机从数据接口中取得的条码图象是高速相机直接拍摄而未经处置的图象,其因为 CMOS特征以及放置等要素可能会呈现噪声、倾斜等成绩,并且失掉的图象为黑色图象, 因而在对条码停止检测前应先对原图象停止预处置。预处置包含:滤波去噪、二值化处置、倾斜改正三部份。
2.3.2 条码图象的滤波去噪
本计划中采取的 CMOS相机,其集成度高的特色带来了元件烦扰噪声。因而有须要对这些图象去除随机噪声的烦扰。经试验,本计划中图象的噪声多为椒盐噪声,即噪声点在图象上经常表示为伶仃像素点,其像素灰度与它附近像素灰度有明显的差别,因而存在更高的频谱。针对噪声的范例,咱们采取中值滤波,其对于脉冲烦扰及椒盐噪声有精良的克制感化,且能较好坚持图象边沿。从条码图象的特点来看, 其特色在因而由纵向必定宽度彩色条空构成,咱们通过树立差别巨细的模板,对含有噪声的图象停止滤波处置, 比拟它们的滤除噪声烦扰的后果。在 MATLAB中能够应用 filter2 函数挪用创立好的滤波器,教训证, 3x3 正方形滤波器后果最好,因而本计划采取3x3 中值滤波器。

(带椒盐噪声的图象)

(3x3 中值滤波后的图象)
2.3.3 条码图象的二值化处置
为了便于对图象停止后续处置,须要对图象停止二值化处置。本计划中产物条码为底面为白色的长方形贴纸,配景为玄色的传输带, 直接从相机中获得的图象为黑色图象,把获得的图象停止灰度化处置以后,再经二值化处置后能便于把产物条码的贴纸宰割出来。可应用MATLAB的 rgb2gray()函数能够把黑色图象转化为灰度图象后,再应用 im2bw()函数能够很便利地对图象停止二值化处置,阈值取 0.67 ,能失掉较好的二值化图象。可见,二值化后纸面边沿愈加清楚。

(原图象) (二值化后图象)
2.3.4 条码图象的倾斜断定与改正
因为物体在传递带上的地位并不牢固, 以是相机所收集到的条码图象中条码地区可能呈现倾斜, 为便于后续的条码定位和宰割提取必需要将倾斜的条码图象转正。
视察二值化后的条码图象, 能够发明纸面地区与配景有显明的近似矩形框辨别,而倾斜的条码图象的明显特点就是其二值图象中纸面地区以必定角度扭转且其扭转角度弗成能太大。以是实现倾斜条码图象的改正起首要检测出倾斜角度,
再以其角度值对其停止逆扭转失掉包括条码的矩形地区呈程度的条码图象。斟酌到图象地位的随机性和盘算庞杂度成绩, 本计划决议采取 Hough变更法来实现倾斜条码图象的倾斜角的检测。实在现方式是先应用MATLAB的 edge() 函数求出二值图象 的边 缘,再 用 其 Hough 变更相 关函数:hough() 、 houghpeaks() 、 houghlines() ,取得到最长边的肇端点和停止点,应用斜率公式从而求出该条码图象的倾斜角,最后应用 imrotate() 扭转函数改正图象的倾斜情形。经测试,后果不错。

(原倾斜图象) (倾斜改正后的图象)
2.4 条码宰割
因为统一款手机产物,其条码的贴纸上的条码字符等信息的地位都是牢固的,因而把图象中纸脸部分宰割出来后, 按牢固地位的物理宰割能很轻易把条码部份宰割出来。
2.4.1 条码贴纸部份宰割
由二值化图象中可见贴纸与配景有显明的特点辨别,咱们经由b wareaopen()函数处置后可把面积小的点吞噬掉,从而取得边沿较为清楚的二值化图象。

(经bwareaopen 函数处置后的图象)
取得此图象后,对图象停止从左到右的逐行检测,失掉其像素点第一次由黑到白变更点的坐标,即为该纸面边沿的第一个坐标,记为P1;再用雷同的方式分辨从右到左、上到下、下到长进行检测,分辨把检测到的坐标志为P2、 P3、P4,则该四个坐标肯定了纸面的地位。最后挪用 imcrop()函数,按这四个坐标把摆正后的图象的纸面宰割出来。

(宰割的条码图象的纸脸部分)
2.4.2 条码宰割
上文已阐明, 统一款手机产物其条码的贴纸上的条码字符等信息的地位都是牢固的,因而对应统一款手机盘算好其条码在贴纸上的地位,再次挪用 imcrop()函数,能把贴纸上恣意部份宰割出来。

(宰割出来的条码)
2.5 条码辨认与检测
条码图象经由处置后终究失掉的是只有彩色条空构成的二值图象, 该点的色彩信息在阔值变更时曾经界说 ,用 255 和 0 表现白色和玄色, 则接下來的义务就是对此图象所包括的数字或英笔墨母信息停止译码, 即条码识读。
2.5.1 条码译码辨认计划
条码辨认的算法有良多,常用的有:
①宽度丈量法:在图象方法的译码进程中, 宽度的丈量不再采取传统的脉冲丈量法 , 而是通过记载每个条或空的宽度中所含象素的个数来肯定现实的条 / 空宽度 , 从而肯定全部条码标记所代表的信息。
②均匀值法:对条码标记图象中从肇端符到停止符全部宽度停止丈量 , 而后除以 95 尺度宽度 , 求出单元模块所含的像素列宽, 再分辨丈量各个条空的现实宽度此宽度以单元宽度为单元盘算
③类似边间隔丈量法:这类方式的计划思绪是通过对标记中相邻元素的类似边之间间隔的丈量来辨别字符的逻辑值, 而不是由各元素宽度的现实丈量值来辨别。
前两种方式对条码图象的请求十分高 , 由于它们都是丈量各元素标记的现实宽度 , 而后依据查表法失掉所代表的码值。假如现实丈量值与尺度值存在一点偏向, 就不能实现准确译码。而第三种方式恰是无效的处理了这一成绩 , 因而本计划采取类似边间隔丈量的方式来实现译码功效。实践上条形码字符的逻辑值应当由条形码的现实宽度来断定, 而类似边间隔方式的计划思维通过对标记中相邻元素的类似边之间间隔的丈量来辨别字符的逻辑值,而不是由元素宽度的现实值来辨别。此种方式的长处是:即便条码品质存在缺欠,使得现实丈量值和条码应当存在的实践值有较大的偏向, 依然能够依据类似边的间隔可能准确说明。

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

(EAN⒀ 条码字符与归一化值)
由 MATLAB 实现该方式,要害是要检测出类似边之间的间隔。可从左到右对条码停止程度灰度扫描, 以灰度值跳变的点作为条和空的标志坐标,从而盘算出由各个条、空的宽度,并通过盘算 n=T/7,T=1C+2C+3C+4C 失掉单元模块的宽度。各个条空的宽度除以单元模块的宽度就是归一化的条空宽度。而为了便利译码,咱们撤除肇端符 3 个条空,旁边分开符 5 个条空,停止符3 个条空,对剩下的 48 个条空每 4 个条空为一组停止译码。盘算类似边之间的间隔t1、 t2 从而失掉归一化( T1,T2)。最后查表可得条码字符。再依据译出的左边6位数据符的奇偶性算出前置符。以下是译码后果:

(条码辨认成果)
其余码型( SN 码、IMEI 码)道理类似。
2.5.2 条码字符辨认
取得条码辨认的数据后,须要与条码下方的字符对比,验证条码的正确性。字符辨认的算法有良多, 因为该计划中只要要辨认简略的数字和英笔墨母,因而通过简略的 OCR 算法对其条码下方的数字、英笔墨母字符停止字符检测,再与
辨认的条码字符比拟较, 分歧则表现该产物条码检测通过,纷歧致则记载该商品编码。
起首树立一个字符模板数据库,用于字符婚配。该计划中须要辨认的字符只有英文和字母,因而数据库不大。

(字符数据库)
而后应用物理定位宰割,把条码下方字符宰割出来。

(条码下方字符)
接着,对图片停止程度偏向的投影,如许有字符的处所的投影值就高,没字的处所投影失掉的值就低。

(程度投影值)
接上去,用一根扫描线从下向上扫描。这个扫描线会与图中曲线存在交点,
这些交点会将山头宰割成一个又一个地区。该条码字符为 13 位,加上条码凸起来的几点一共为 18 个地区,因而,当扫描线将山头宰割成 18 个地区时结束。而后依据这 18 个地区向程度线的投影的坐标便可以将图片中的 13(18)个字符宰割出来。
字符宰割出来后,最后用 ORC神经收集婚配,把宰割出来的字符与字符库里的字符图片停止婚配, 终究把字符辨认出来。把辨认出来的字符串与条码辨认出来的字符串对照,便可检测出该条码能否正确。
三、计划评价
3.1 资料估算

3.2 计划缺乏
本计划存在尚需改良的处所:
1)对光源的摆置请求较高,依附光源获得对照赫然的图象,不然将可能呈现条码贴纸与配景宰割失败的情形;
2)虽然几率很低,但仍然存在某张条码检测失败的情形,此时本计划的做法是对该次检测摈弃;
3)本计划只对条码的编码品质停止了检测,即只对条码所包括的字符能否与该手机产物相干信息的编号字符绝对应停止了检测,而没有对犯错的停止改正。   义务编纂:pj
更多内容阅读推荐:洗衣机关机进水怎么办
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

无图版|手机版|计算机技术论坛 JSJBBS.CN @ 2008-2024 ( 鲁ICP备17021708号 )

技术支持 : 北京康盛新创科技有限责任公司

快速回复 返回顶部 返回列表