二维条码识读技术及其应用研究毕业论文_第1页
二维条码识读技术及其应用研究毕业论文_第2页
二维条码识读技术及其应用研究毕业论文_第3页
二维条码识读技术及其应用研究毕业论文_第4页
二维条码识读技术及其应用研究毕业论文_第5页
已阅读5页,还剩155页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

Gabor滤波和BP神经网络的二维条码区域提取方法(GF-BPNN),解决了复杂背景下,完整准确地提取条码区域的难题;其二,提出了一种基于边缘跟踪和Radon变换相结合的DataMatrix条码定位方法,克服了利用Hough变换或Radon变换检测直线边缘实现DataMatrix以高性能浮点DSPTMS320C6713为核心的数据处理子系统和以FPGA为控制中心的图像采集子用实验表明,论文工作研制的二维条码识读终端能够快速准确地识读生产线上的Data毕业设计(论文)原创性声明和使用授权说明本人郑重承诺:所呈交的毕业设计(论文),是我个人在指导教师的指导下进行的研究工作及取得的成果。尽我所知,除文中特别加以标注和致谢的地方外,不包含其他人或组织已经发表或公布过的研究成果,也不包含我为获得及其它教育机构的学位或学历而使用过的材料。对本研究提供过帮助和做出过贡献的个人或集体,均使用授权说明的规定,即:按照学校要求提交毕业设计(论文)的印刷本和电子版本;学校有权保存毕业设计(论文)的印刷本和电子版,并提供目录检索与阅览服务;学校可以采用影印、缩印、数字化或其它复制手段保存论文;在不以赢利为目的前提下,学校可以公布论文的部分或全第一章绪论 11.1条码技术介绍 11.1.1一维条码简介 21.1.2二维条码简介及与一维条码的区别 31.2典型的二维条码码制 4 71.3.1二维条码的标准化 7 81.3.3PDF417的发展和应用 9 1.5.1课题的提出和意义 1.5.3论文的内容安排 2.1二维条码图像采集 2.1.2摄像式图像采集 2.2条码图像预处理 2.2.1对比度增强 2.2.3图像二值化 2.3条码定位与解码 2.4.2二维条码识读系统的主要技术指标 -2.4.3本文所设计实现的二维条码识读系统 3.1图像对比度增强 3.1.1常用的图像对比度增强方法 3.1.2基于图像融合的条码图像对比度增强 3.2图像去噪 3.3图像二值化 4.3.2边缘跟踪和角点检测 4.4条码图像几何校正 4.4.1生成坐标变换矩阵 4.4.2图像校正 4.5.3码流纠错 4.5.4码流译码 4.6本章小结 第五章基于DSP的嵌入式二维条码识读终端的设计与实 5.1终端概述 5.3终端软件系统设计 5.3.1图像预处理 5.3.4条码解码 6.2识读性能及与国外同类产品的比较 6.3本章小结 7.1论文工作总结 7.2未来工作展望 致 体的新兴的自动识别技术[1]。它自20世纪40年代的美国发起,70~80年代开始在国际上1.1条码技术介绍高、信息量大、可靠性高、可表示各种文字和图像、保密防伪性强、使用成本低廉等优点1.1.1一维条码简介损后可读性差等缺点。图1-1给出了几种常见的一维码。(b)39码的几何图形元素按一定规律和顺序组合成的图形,巧妙地利用构成计算机内部逻辑基础的表1-1二维条码与一维条码的比较编码字符集信息容量信息密度纠错能力可否加密对数据库和通信网络的依赖识读设备维条码数字0~9与ASCII字符小,一般仅能表示几十个数字字符低误校验,否高式识读器一维条码多媒体等全部数字化信息大,一般能表示几百个字节,汉信码可表示3262个字节信息高提供错误校验与纠纠错能力强是低器1.2典型的二维条码码制图1-2给出了几种常见的二维条码。下面将分别予以简略介绍。(c)QRCode(e)汉信码图1-2几种常见的二维码边形模块和位于符号中央位置的定位图形(三个黑色同心圆)组成,每个符号由884个六边形模块组成,分33层围绕着中央定位图形,每一层最多包含30个模块。符都是由4个条和4个空共17个模块构成,故称为PDF417码。PDF417码是一种多层、可变接衔接。其最小行数为3,最大行数为90。每一个PDF417符号可以表示高达1108个字节、或1850个ASCII字符或2710个数字的信息。5、汉信码。汉信码是由中国物品编码中心牵头,于2005年研发完成的我国拥有完全1.3二维条码技术的发展和应用现状立的第1联合委员会JTC1的第31分委员会,即自动识别与数据采集技术分委员会 的标准已完成二维条码符号印制质量的检验(IS0/IEC15415)、二维条码识读器测试规范化协会(ANSI)也已完成了PDF417,QRCode,Code49,Code16K,CodeOne等码制的符号表了一些有关DataMatrix的论文[21][22][23],对DataMatrix的发展前景、应用领域、1.4二维条码技术与其它自动识别技术的比较机票、公共汽车票、自动售货卡、会员卡、现金卡(如电话磁卡)等。磁卡识别技术是接触射频识别(RadioFrequencyIdentification,RFID)技术的基本原理是表1-2二维条码于其他自动识别技术的比较二维条码磁卡接触式IC卡射频识别读取方式光电转换磁电转换电路接口无线通信读写性读读写读写读写信息载体磁条存储器存储器信息量大较小大大保密性好一般好好智能性无无有有抗干扰能力较强较差一般一般抗污染能力较强较差一般较强识读距离接触接触使用寿命很长短长长基材价格低中中高扫描器价格中低低高优点识读输入速度快读缺点数据不能修改不能非接触识读读据可改写1.5.1课题的提出和意义1.5.2主要工作和创新点用Hough变换或Radon变换检测直线边缘实现DataMatrix条码定位的方法难以在计算量和的精度、成功率和速度,本文创新性地以德州仪器(TexasInstruments,TI)公司的1.5.3论文的内容安排1.6本章小结第二章二维条码识读技术信号对应的方波信号,经译码器解释为计算机可以识别的放大信号滤波放大信号滤波波形整形光学系统探测器2.1.2摄像式图像采集CMOS(金属氧化物半导体)技术是近年发展起来的新兴技术。与CCD一样,是一种光电2.2条码图像预处理2.2.1对比度增强2.2.2图像去噪2.2.3图像二值化阈值法和局部阈值法等,第3.3.1节将会一一2.3条码定位与解码行了介绍,详见第4章。2.4.1二维条码识读系统分类2.4.2二维条码识读系统的主要技术指标2、通讯接口3、景深2.4.3本文所设计实现的二维条码识读系统2.5本章小结第三章二维条码图像预处理3.1图像对比度增强3.1.1.1灰度变换为g(x,y),灰度范围为[a',b'],则图3-1为线性变换示意图,图3-2则为变换前后对比图。图3-1线性变换示意图图3-2线性变换效果对比图(2)分段线性变换分段线性变换是将原图像灰度分布区间[a,b]分隔成两段或多段分别进行线性变换,从而突出用户感兴趣的目标或灰度范围,相对抑制用户不感兴趣的灰度范围,使感兴趣目标的灰度细节得到增强。常用的是三段式分段线性变换,如图3-3所示。其变换式如下式中的c,d,c',d’需要用户根据不同需要来自行确定。图3-4为分段线性变换图3-3三段式分段线性变换示意图图3-4分段线性变换效果对比图(3)非线性变换当变换函数为非线性函数时,可实现图像灰度的非线性变换。常用非线性变换为对数变换和指数变换[28]。对数变换用于扩展低灰度区,压缩高灰度区,适用于较暗或过暗的图像,其一般形式是式中的a,b,c是用来调整变换曲线的位置和形状的参数。指数变换与对数变换相反,它压缩低灰度区,扩展高灰度区,适用于较亮或过亮的图像,其一般形式为式中的a,b,c同样是用来调整变换曲线的位置和形状的参数。图3-5为对数变换和指数变换的示意图,图3-6则是对数变换和指数变换的效果对比图。指数变换(a)变换前(b)对数变换(c)指数变换图3-6对数变换和指数变换效果对比图转换到[0,1]区间,以r表示原图像的正规化灰度,则令s表示经过直方图均衡化之后的图像正规化灰度,则直方图均衡化就是通过灰度变换函数s=T[r],将原图像直方图P(r)改变成均匀分布的直方图P(s)。实现直方图均衡化,则意味着P(s)=1从而可得再由概率论可知即T[r]为P(r)的累计分布函数。在数字图像中,灰度是离散的,离散化的直方图均衡化公式为的离散灰度级。此处得到的新灰度S于实际显示,即是离散灰度级数,的取值实际上是与是离散灰度级数,的取值实际上是与是正规化灰度还要将其转化为非正规化灰度最接近才能用式中的表示四舍五入取整。图3-7为直方图均衡化效果对比图。图3-7直方图均衡化效果对比图3.1.2基于图像融合的条码图像对比度增强图像1规则图像2小波逆图3-8小波域图像融合框图别为a(x,y)和b(x,y),两区域匹配度为m(x,y),匹配度阈值为T,融合后的系数为f(x,y),若m(x,y)小于T,则否则这一规则在一定程度上考虑到了源图像对融合图像贡献的不确定性,但它通过人为设定的阈值强行简化了这一不确定性,简单地根据匹配度决定使用选择算子或加权平均算子。选择算子的存在同样使一部分信息被忽略,导致信息不完整和对噪声敏感;即使是相比于上一种规则新加的加权平均算子,也因为用线性函数计算权值而不能十分准确地描述源图像对融合图像的贡献程度,无法很好的解决这种不确定性问题。为了克服这两种规则的局限性,改进小波域图像融合的性能,尽可能多得将源图像中的信息融入融合图像,本文将模糊推理这一解决不确定问题的有效手段引入小波域图像融合,提出了一种基于模糊推理的小波域图像融合规则,并利用此规则对多幅条码图像进行小波域图像融合。模糊推理是一种基于模糊逻辑,能够有效的解决不确定性问题的不确定性推理方法[44][45],已经广泛应用于目标识别、图像分析、自动控制、智能信息处理和计算机科学等领域。相对于其他方法,它具有易于理解、灵活性好、包容不精确数据以及可以利用专家知识和基于自然语言等优点。本文所提出的基于模糊推理的小波域图像融合规则利用模糊推理的非线性和模糊性刻画源图像对融合图像的贡献程度的不确定性,以各源图像中对应小波系数的局部区域特征为输入进行模糊推理确定各源图像相应系数的权值,再通过对相应系数进行加权平均和小波逆变换得到最终的融合图像,从而很好地解决了图像融合中的不确定性问题,克服了利用选择绝对值最大系数和选择与加权平均相结合等现有规则进行小波域图像融合的方法中存在的信息不完全和易受噪声干扰的缺点。3.1.2.2基于模糊推理的融合规则基于模糊推理的融合规则以加权平均为基本方法,但是加权平均所用的权值却是由模糊推理得到的。首先对经过小波分解的两幅源图像进行局部区域特征的提取,对每幅图唯一的低频子带以区域方差为特征,而其他所有的高频子带均以其平均能量为区域特征,并计算两图对应区域的匹配度以及各自的归一化区域特征。设两幅图像a和b对应区域的区域特征分别为a(x,y),融合后的系数为f(x,y),则此规则可描述如下:的取值范围均为[0,1],所以将三者的值域以μ,(u)=1-μ₄(u)隶属度函数分别与式(3-17)和式(3-18)具有相同的形式。={二者加权平均},其隶属度函数分别为:以上节所述选择和加权平均相结合的规则的思想作为模糊规则,采用Mamdani极小化规则,(1)如果。设此规则为R1,则:Hr₁(u,m,w)=μ(u)^μMu(m)^μg(0)则总的模糊关系可以表示为将前面计算得到的u(x,y)和m(x,y)进行模糊量化为u∈U和m∈M最大隶属度原则进行模糊判决。然后按下式计算图像a的权值隶属度函数μ(w):W∈2图3-9给出了两幅源图像和一幅采用本文方法融合后的图像,为比较融合表3-1融合前后信息量变化图3-9(a)图3-9(b)图3-9(c)为比较本文提出的基于模糊推理的小波域图像融合规则与前述另两种现有的小波域融合规则的融合效果,图3-10给出了以图3-9(a)(b)为源图像分别利用三种融合规则得到的融合图像,其中图3-10(a)是采用选择绝对值最大的系数的规则得到的融合结果;(b)是采用选择与加权平均相结合的规则以0.5为匹配度阈值融合得到的融合结果;(c)是采用本文提出的基于模糊推理的规则融合得到的融合结果。此外,本文还对图3-10中的三幅图像分别计算与源图像之间的互信息量作为客观指标列于表3-2以比较采用三种规则得到的融合图像从源图像中获取的信息的多少,互信息量越大说明融合图像从源图像中得到的信息越多。设源图像A和B的灰P(f,a)和P(f,b)融合图像F的灰度分布为P(f),,则融合图像与源图像之间的互信息量MI为表3-2三种融合规则所得融合图像与源图像之间的互信息量比较图3-10(a图3-10(b图3-10(c)为比较三种融合规则的抗噪声性能,对图3-9(a)(b)分别人为添加泊松噪声后作为源图像分别利用三种融合规则进行图像融合,结果示于图3-11,其中图3-10(a)是采用选择绝对3-11中的三幅图分别以图3-10的(a)(b)(c)为参考图像所得的峰值信噪比(PSNR),作为三种图3-11(a)图3-11(b)图3-11(c)从图3-11和表3-3中可以看出,图3-11(c)比其它两幅图像受噪声的影响小,说明采用3.2图像去噪(x,y),中值滤波后的像素灰度为g(x,y),滤波窗口为W,则中值滤波数学表达式为的窗口大小及窗口形状,本文中采用5?5的方形窗口。图3-12给出了中值滤波前后的效果(a)中值滤波前(b)中值滤波后图3-12中值滤波前后对比图3.3图像二值化3.3.1常用的图像二值化方法3.3.1.1大津法二值化其中n₁()和n₂(i)分别是灰度小于i的像素和大于等于i的像素的数目,即二值化分割的阈值是使w(i)取得最大值时的灰度值。图3-13给出了使用图3-13大津法二值化3.3.1.2最大熵法二值化熵在图像处理中表征图像像素的平均信息量。用最大熵法求阈值就是选择一个阈值,使图像用这个阈值分割出的两部分,一阶灰度统计的信息含量最大,即熵最大。而熵最大就意味着以此阈值划分的目标区域和背景区域内各自的灰度分布具有最大的同一性,即目标和背景区当目标和背景两组间的熵之和最大时的阈值即为所求阈值。运用统计学原理,如果图像中某个灰度级出现的概率是p(x),则该灰度级的熵H=ʃ-p(x)1gp(x)dx。当阈值为T时,令,则图像中低于阀值部分的熵,而图像中高于阈值部分的熵取H=H₁+H₂,选取H最大时对应的灰度级作为图像的阈值。最大熵法对条码图像二值化效果如图3-14。图3-14最大熵法二值化3.3.1.3最小错误概率法二值化此方法来源于Bayes最小误差分类方法。若设E,(T)是特征物错分到背景的概率,使E(T)取最小值的阈值,即为最小误差法求得的阈值。用最小误差法对条码效果如图3-15。图3-15最小错误概率法二值化3.3.1.4迭代阈值法二值化迭代阈值法主要是根据逐步逼近的原理,在灰度特征上对阈值进行选取,具有易于理解(1)求出图像灰度的最小值和最大值,迭代次数k设为0,并设置阈值初值为f和f及平均灰度;,则结束;否则k=k+1,转到(2)继续迭代,这里Kmax(5)逐点二值化。图3-16给出了迭代阈值法二值化的效果图。(a)原图(b)二值化后图3-16迭代阈值法二值化3.3.1.5局部阈值法二值化局部阈值法适用于光照不均或背景非常复杂图像分成几个小的互不重叠的子图像,再对每个子图像分别求出最优分割阈值进行二值化。这种分割方法计算量大且分割后的图像在不同子图像的边界处有灰度的不连续分布,存在块效应,必须在后续操作中采用平滑技术消除灰度的不连续性。图3-17给出了局部阈值法二值化的效果图,图中有一部分由于块效应出现了错误分割。(a)原图(b)二值化后图3-17局部阈值法二值化3.3.2基于小波分解和大津法的图像二值化方法大津法、最大熵法、最小错误概率法和迭代阈值法都属于全局阈值法,使用单一阈值对整幅图像进行二值化,对于光照不均或背景十分复杂的图像效果不好。而局部阈值法处理光照不均或背景十分复杂的图像时效果比全局阈值法好,但计算量大且存在块效应,效果仍不理想。文献[49]提出利用曲面拟合技术逼近背景以消除光照影响,但需要事先指定用于拟合和1(全反射)之间。两式给出的均是理论界限。3.3.2.2利用小波分解得到光照近似分布,图像f(x,y)在尺度j+1上的逼近为其中D图3-18Mallat分解算法示意图D'ADDD²mDAm图3-20照度函数估计结果中处在分母位置,且式(3-46)对其取值作出了限制,所以在用式(3-48)进行运算前,要得的照度函数i(x,y)一定是有限值,所以只需让其所有取值大于0即可满足式(3-46)的限制。但为了尽量避免经式(3-48)运算后使所得将所有i(x,y)取值小于1的点都强制将其i(x,y)值改为1,其它点的值保持不变。接下来即可按照式(3-48)计算反射函数r(x,y)。根据式(3-47),r(x,y)应遵守取值在(0,1)由此算出的r(x,y)会出现很多大于1的值,所以本文将式(3-47)的限制放宽至[0,2]区图3-21即是利用图3-20(b)中所示的照度函数i(x,y)对图3-20(a)所示原图像进行处理所得的反射函数(为显示做了一定的灰度拉伸)。方法已在3.3.1.1节中予以介绍,此处不再赘述。为验证本文所提方法的效果,本文作了一系列实验。图3-22即给出了对图3-20(a)中所图3-22本文方法对图3-20(a)的二值化结果图3-23大津法对图3-20(a)的二值化结果图3-24局部阈值法对图3-20(a)的二值化结果法。这一方法既可以消除光照不均的影响,又避免了局部阈值法出现的块效应。虽然利用第四章DataMatrix条码定位与解码\DataMatrix是一种矩阵式二维条码,它有两种类型:ECC000-140和ECC200[52]。研究对象,如不加说明则DataM(a)白色背景中的ECC200(b)深色背景中的ECC200示。其中左侧和下侧的两条邻边是暗实线(又称为黑边),组成L形边界,主要用于限定物理种,尺寸为10?10-144?144;长方形符号共六种,尺寸为8?18-16?48,上述尺寸均不含静区。在较大的符号中,数据区被一个单元模块宽度的暗实线和铁路图4-3分块的DataMatrix条码符号4.2DataMatrix条码区域提取4.2.1现有条码区域提取方法文献[57]提出利用数学形态学对图像进行版面分析,通过腐蚀(白色背景下)或膨胀(黑4.2.2基于Gabor滤波和BP神经网络的条码区域提取方法4.2.2.1GF-BPNN流程特征图4-4GF-BPNN方法流程框图4.2.2.2Gabor滤波器提取纹理特征在纹理分析方面,共生矩阵[58]、马尔科夫随机场[59]和Gabor滤波[60]等都是常用的纹理分析工具。Gabor滤波器则因在时域和频域中都具有良好的局部特性[61],且只需改变参数就可对图像进行不同尺度不同方向的滤波而被广泛应用。本文提出的GF-BPNN方法就用Gabor滤波进行图像纹理特征的提取。Gabor滤波器的表达式[62]为式中,(x,y)=(a“(rcosθ+ysinθ),a”(-xsinθ+ycosθ)a>1,m定义滤波器的尺度,m=0,1,…,M-1,M为整数,?表示滤波器方向与x轴的夹角,对θ离散化,令,N为整数,则可用n定义滤波器的方向。通过改变m和n,就可以得到一组具有不同尺度不同中心频率和方向的滤波器(,)mnGxy,从而对图像进行不同尺度不同方向的滤波,得到相应的纹理特征。对Gm(x,y)的坐标离散化就可以得到相应的离散滤波模板Gm(s,t),其中s为区间内的整数,t为区间内的整数。则对图像I(x,y)进行的Gabor滤波定义为GF-BPNN方法采用的滤波器组由中心频率分别为每图像宽度4√2、8√2、等于5),方向分别为0°、22.5°、45°、67.5°、90°、112.5°、135°、157.5°共8个方向(即n分别等于0,1,2,3,4,5,6,7,N等于8)的总共40个滤波器组成。用这40个滤波器对图像进行滤波,则每个像素处均可得到一个40维的特征向量F=[F₀,…,F7,…,F40,…,F4₇],向量元素Fmn即为图像经Gmn(s,t)滤波后在该像素处的值。4.2.2.3特征变换经Gabor滤波器滤波得到的特征向量F不具有尺度不变性和旋转不变性,且维数太高,无法直接用于BP神经网络进行分类。所以要对F进行降维和变换,使其具有尺度不变性和旋转不变性。首先,消除F对尺度的敏感性,生成具有尺度不变性的特征向量,同时实现降维。要实现这一目标,可对具有相同方向不同尺度的特征相加并求均值,从而消除尺度对特征的影响,得到对尺度不变的含8个元素的特征向量01234567F接下来,要对F进行变换使其具有旋转不变性。由图4-1可知,DataMatrix条码区域内有很多相互垂直的边缘,因此条码区域内的像素经过Gabor滤波后会在两个相互垂直的方向上响应比较大而其他方向的响应会相应地小一些从而在两个相互垂直的方向上形成两个峰值。这种分布是区分该像素是否属于条码区域的重要特征。而由于旋转和各种失真的存在,使得属于不同条码区域或同一条码区域不同位置的像素的特征分布中峰值出现的角度不同,但只要属于条码区域,其双峰特性是不变的。因此只需要将由式(4-3)所得的特征向量进行循环移位,使其中的响应最大值固定在特征向量的第一个元素位置0F处,即可得到具有旋转不变性的新特征向量F=[F',F',F',F₃'F⁴',F',F₆',F,],设式(4-3)所得向量中的响应最大值为Fmax,则新向量中的元素'F定义如下:至此,图像每个像素处的纹理特征已具有尺度不变性和旋转不变性,并已降至8维。4.2.2.4BP神经网络对像素分类BP神经网络是一种被广泛应用的分类器,可实现从输入空间到输出空间的非线性映[63]。它采用最小均方(LMS)学习算法[64],经过迭代运算求解权值,将所需要的输出与实际输出间的误差逐步最小化。此输出误差还会向输入方向“反向传播”回去,以调整权值使误差减小。BP神经网络可形成多层网络。任一层节点的输入都是前一层输出的加权和。令J层代表层中各节点触发元素的输入,则,式中W的学习过程则可以描述为J式中的学习过程则可以描述为上式中kt为节点k的期望响应,P代表K层的后一层,PN为其节点数。本文提出的GF-BPNN方法采用经过特征变换的图像Gabor纹理特征作为网络输入。输入之前要先将特征线性映射至[0,1]之间,以便于后续权值的调整和运算,并提高网络泛化能力。网络训练由一幅背景比较复杂的参考图像经过前述特征提取所得到的特征向量作为输入,期望的输出为对输入图像随机取点11000个,其中条码区域像素1000个,非条码区域像素10000个,训练100次。然后用训练好的网络对待处理图像进行分类,网络输出以0.5为阈值,输出大于0.5的像素为条码区域像素,否则为背景像素。图4-5给出了图像经过Gabor滤波、特征变换和BP网络分类后的结果,(a)为原图,(b)为分类结果。终的提取结果,主要流程如图4-6所示:0NoiYesNoNo4.2.2.6实验结果实验中利用GF-BPNN方法对三幅包含DataMatrix二维条码的图像进行了条码区域提取,并与文献[57]提出的利用数学形态学对图像进行版面分析提取条码区域的方法进行了对比,结果如下。本文采用像素错分率r来定量描述条码区域提取效果,即以分类错误像素数incorrect除以总像素数total得到的百分比。图4-7(a)为一幅背景复杂但条码没有旋转的图像。图4-7(b)为用GF-BPNN方法提取的条码区域;图4-7(c)为用文献[57]的方法提取的条码区域。从中可以清楚地看出,GF-BPNN方法提取的条码区域完整而没有伪区域,像素错分率为0.05%,而文献[57]的方法则出现伪区域,像素错分率为3.33%。图4-8(a)是一幅含有旋转后条码的图像。图4-8(b)为用GF-BPNN方法提取的条码区域;图4-8(c)为用文献[57]的方法提取的条码区域(结构体与前一实验中所用一致)。从中可以看出GF-BPNN方法对旋转不敏感,可提取出完整的条码区域,像素错分率为0.1%,而文献[57]提出的方法则因为结构体选择不合适而无法准确提取出完整的条码区域,且出现伪区域,像素错分率为4.95%。图4-9(a)是一幅含有较大条码的图像。图4-9(b)为用GF-BPNN方法提取的条码区域;图4-9(c)为用文献[57]的方法提取的条码区域(结构体与前一实验中所用一致)。从中可以看出GF-BPNN方法对尺度不敏感,可提取出完整的条码区域,像素错分率为0.08%,而文献[57提出的方法则同样因为结构体选择不合适而无法准确提取出完整的条码区域,像素错分率为从实验结果可知,本文提出的GF-BPNN方法,可以很好地提取出复杂背景下的DataMatrix条码区域,且具有旋转不变性和尺度不变性。此方法很好地克服了文献[57]提出的基于形态学分析进行条码区域提取的方法存在的结构体难以选择和虚警率较高的缺点。而在计算量方面,本文所提出的办法与文献[57]所提出的方法相比,大概增加一倍。但这个数据是方法要取得较好的效果必须自适应地选取结构体,这需要花费大量计算量,而本文提出的方法由于采用BP神经网络对像素分类消除了很多伪区域,只需再以一个相对固定的结构体进行形态学后处理即可得到较好的结果,省略了自适应选取结构体的过程,计算量的增加是完鲁棒性,更能适应不同应用环境的需要,是一个非常有效的方法。图4-7复杂背景下的无旋转条码区域提取图4-8旋转条码区域提取图4-9大条码区域提取条码区域提取结果边缘检测条码区域提取结果边缘检测边缘跟踪和角点检测Radon变换顶点坐标计算完成图4-10基于边缘跟踪和Radon变换的条码定位流程图4.3.1边缘检测图4-11Sobel掩模图4-12像素邻域图4-13(b)即对图4-13(a)中条码区域进行Sobel边缘检测所得结果。图4-13条码图像及条码区域Sobel边缘检测结果4.3.2边缘跟踪和角点检测1.建立起始跟踪方向相反(分别为竖直向上和竖直向下)的两个边缘跟踪器,以跟踪得边缘,如图4-14右图所示。要跟踪的边界呈“L”形,跟踪过程中跟踪器的跟踪方向势必要直向上为y轴正方向;当前边缘点坐标为(x,y);图4-14边缘跟踪方向示意图正上方像素(x,y?1)为前景点,说明该点在条码内部,则自该像素水平向外3个像素内搜索跟踪方向顺时针旋转90度继续跟踪。跟踪器方向最多旋转2次,若旋转2次后再次发生找不到边缘点的情况,跟踪结束。跟踪器跟踪方向发生旋转处的边缘点即为角点。对于向下的跟踪器,除跟踪方向不一样,当找不到边缘点时逆时针旋转90度继续跟踪外,在跟踪方法上与向上的跟踪器完全一致。由于条码边缘由直线段组成,为了保证沿直线跟踪边缘和检测角点,本方法还以5个边缘点为一组矢量计算其边缘方向并与前一次计算的边缘方向进行比较来确定边缘点是否共线。首先,跟踪边缘得到5个连续的边缘点[P1,P2,P3,P4,P5],将由P1(X1,Y1)到55P5(X5,Y5)之间的矢量ī=(x₅-x)元+(y-y)v作为边缘的参考矢量。然后,继续跟踪得到下一边缘点P6(X6,Y6),将[P2,P3,P4,P5,P6]作为一组,计算由P2(X2,Y2)到P6(X6,Y6)之间的当前矢量Z=(x₆-x₂)x+(₀-y₂)y与之间的夹角的余弦cosθ之后,每得到一个新的边缘点,便将此边缘点与前4个边缘点作为一组,计算新的当前矢量,而将上一次跟踪得到的旧的矢量作为参考矢量,计算两个矢量之间的夹角的余弦。若所得余弦值大于2/2(45度角的余弦值),则认为新的边缘点与之前的边缘点共线,否则说明出现了角点。由于判断共线与否的夹角阈值为45度,可认为新的一组边缘点中的中间一个即第3个边缘点为角点。所以,对于角点检测而言,有两条判断标准:一是前述的因找不到边缘点而使跟踪方向旋转时,此时新的一组边缘点中的中间一个即第3个边缘点为角点。为确定“L”形寻边区外边缘及此边缘上的三个角点以及2条铁路线的大概方向,两个跟踪器需各自跟踪3条边缘线段:第一条以跟踪器起点为起点,以遇到的第一个角点为终点,其余两条均以前一条线段的终点为起点,以遇到的下一个角点为终点,并依据各条线段的起点和终点计算各线段的长度和方向矢量。跟踪器在满足跟踪结束条件或已跟踪完成3条线段时结束跟踪。假设两个跟踪器跟踪得到的边缘线段分别为linell,line12,line13和因两个跟踪器跟踪方向相反,所以若linel1和line21的夹角余弦小于-0.98,则认为两条线段共线,此时合并两条线段,只要合并后的线段长度大于15即可认为合并后的线段为“L”形寻边区的一条外边缘。再在line12和line22中挑选一条相对较长且长度大于15的线段作为“L”形寻边区的另一条外边缘,假设为line12,则line22是一条铁路线与“L”形寻边区交界处的一条外短边缘(若line22相对较长且长度大于15,则line22为“L”形寻边区外边缘,line12为铁路线与“L”形寻边区交界处的外短边缘)。而line13和line23中与“L”形寻边区的外边缘相交的那一条则是另外一条铁路线与“L”形寻边区交界处的外短边缘。在这种情况下,若linell和line21合并后长度小于15或linell和line21的长度均小于15,说明寻找“L”形寻边区外边缘失败,应沿初始扫描线继续向右扫描。若linel1和line21的夹角余弦大于-0.98,则认为两条线段不共线。此时若两条线段长度均大于15,则认为这两条线段就是“L”形寻边区的两条外边缘,line12和line22则分别是两条铁路线与“L”形寻边区交界处的外短边缘,否则说明寻找“L”形寻边区外边缘失败,应沿初始扫描线继续向右扫描。此外,若找到了“L”形寻边区的两条可能的外边缘,但两条边缘的长度相差过大,长边的长度是短边的5倍以上,也可认为寻找“L”形寻边区外边缘失败,应沿初始扫描线继续向右扫描。找到符合上述一系列判断条件的“L”形寻边区的两条可能的外边缘后,即可根据这两条线段的起点和终点确定此边缘上的三个顶点的坐标了,即图4-2中的点1、2、3的坐标。4.3.3Radon变换及顶点坐标计算条码矩阵的四个顶点中的3个在上一节中找到“L”形寻边区的两条可能的外边缘后即可计算坐标。两条“L”形寻边区外边缘的交点即对应着无旋转的标准条码图像中左下角两条暗实线相交处的顶点,即图4-2中的点1。而两条“L”形寻边区外边缘各自相对于此顶点较远的端点即是标准图像中左上角和右下角的两个由铁路线和暗实线相交形成的顶点,即图4-2中的点2、3。但在进行顶点对应时要注意这三个顶点遵守右手螺旋法则,即右手置于两边缘交点处,拇指向上,四指应可自对应于标准条码图像右下角顶点的边缘端点(图4-2中的点3)经条码内部握拳达到对应于标准条码图像左上角顶点的边缘端点(图42中的点2)。而要确定对应于标准条码图像右上角的顶点的像素坐标,即图4-2中点4的坐标,则需要确定两条铁路线的外边缘所在的直线,两条直线的交点即为所求顶点。要确定铁路线外边缘所在的直线,本文采用Radon变换来实现。由p和θ定义的直线1的线积分。直线方程为图4-16条码图像边缘图铁路线与暗实线相交的顶点,即图4-2中的点2、3,作两组积分线,以条码区域宽度的一半由于每组积分直线共点,仅角度不同,设直线角度为θ,积分长度为1,所过顶点坐标为图4-17条码定位结果实验结果证明,本文所提出的条码精定位算法能够准确地定位DataMatrix条码。由于边缘跟踪过程中基本只是些简单的扫描操作,计算量很小,后续的Radon变换又只是过定点在铁路线所在直线的初始方向附近?22.5?的角度范围内进行,有效减少了计算量,与单纯依靠Hough变换或Radon变换进行定位相比可减少近30%的计算量,在计算量和定位精度之间较好地进行了折中。4.4条码图像几何校正假设条码图像仅存在刚性变换失真,则可通过一个3?3的透射变换矩阵完成图像的几何校正。校正后的图像是以条码寻边区“L”的角点为坐标原点,以条码底边为x轴,以条码左边为y轴仅含完整条码的图像。4.4.1生成坐标变换矩阵令经前一章定位所得的条码四个顶点分别为pl,p2,p3和p4,其中对应于条码寻边区“L”的角点的顶点为p1(x1,y1),对应于条码标准图像中左上顶点的是p2(x2,y2),对应于条码标准图像中右下顶点的是p3(x3,y3),对应于条码标准图像中右上顶点的是p4(x4,y4)。根据这四个顶点即可算出一个3*3的透射变换矩阵T及其逆矩阵T?1,其中T为由原始图像坐标到校正图像坐标的正向变换矩阵,T-1为由校正图像坐标到原始图像坐标的逆向变换矩阵。T和T均可由一系列3*3的子矩阵或其逆矩阵相乘得到,这些子矩阵包括平移矩阵Trans及接下来,将各子矩阵及其逆矩阵的计算方法介绍如下:水平剪切矩阵Shear及其逆矩阵Shear-:令点p2(x2,y2)先后经过平移变换和旋转变换后得到的坐标为p2(x2',y2'),则:这两个矩阵用于纠正条码图像上边的透视将式(4-16)~式(4-28)分别代入式(4-14)和式(4-15)即可得到坐标变换矩阵T和T4.4.2图像校正图像校正有两种方法正向映射法和反向映射法。正向映射法是指由原图像坐标出发,通过坐标变换计算出相应校正图像坐标,并对该坐标处像素赋值;而反向映射法则是从校正图像出发通过坐标变换找到该像素在原图像中的对应像素坐标进而对该像素赋值。因为在数字图像中像素坐标值只能为整数,而由正向映射法求出的校正图像坐标值往往为小数,对坐标进行取整运算后就会导致存在未被赋值的"空"像素。为避免这种情况发生,坐标变换中一般采用逆向映射法,即由变换后的映射图像像素的坐标值,逆推出在原图像中对应的坐标值。由前述坐标变换矩阵的生成过程可知,校正后的条码图像是一个以条码寻边区“L”的角点为坐标原点,以条码底边为x轴,以条码左边为y轴仅含完整条码的正方形或长方形图像。图像的长、宽可通过对4个顶点进行正向坐标变换所得的校正图像坐标值得出。此时只需将校正图像内的像素坐标利用逆向变换矩阵通过逆向坐标变换一一找出原图像中的对应像素坐标,再通过灰度插值对校正图像像素进行赋值即可得到校正后的条码图像。令校正图像像素坐标为(x,y),原图像中的对应像素坐标为(X0,Y0),则坐标变换过程可表示为:tempy=x*t₂+y*考+y,=tempy/w一般情况下,得到的原图像中的对应像素坐标(X0,Y0)是小数,无法直接从原图像中采样赋给校正图像,因此要进行灰度插值。灰度插值的方法有很多[75][76][77],常用的灰度插值方法有最邻近像素法、双线性插值法和双三次卷积法,其中双三次卷积法计算量太大,这里不再予以介绍。最邻近插值法也称零阶插值,是最简单的插值方法。其做法就是取原图像上与(X0,Y0)最为接近的像素的灰度值作为校正图像相应像素的灰度。其计算十分简单。只需对(X0,Y0)进行四舍五入取整运算得到原图像像素坐标,将该像素灰度值赋给校正图像对应像素即可。但这样做会由于取整运算带来一定的误差,不够精确,可能使校正图像出现锯齿边缘。双线性插值法是利用原图像中与(X0,Y0)最接近的4个像素点的灰度值,使用线性逼近的方法int(x)=i,int(y)=j,M=x.-i,v=y-i,其中it表示直接舍弃小数部分的取整运算,则双线性插值法的计算公式为g(x,y.)=0-4)(-1g(ij)+u(1-1g(i+1,)+(I-)vg(ij+1)+avg(i+1,j+1)采用双线性插值法能够保持图像连续且精度高,但由于其具有低通滤波性质抑制高频成分,会导致图像出现模糊。但经过比较,本文仍采用双线性插值法进行像素重采样。图4-18是一幅实际拍摄的条码图像,图4-19则给出了经过几何校正后的条码图像。DataMatrix条码译码过程如图4-20所示,共分四步;生成条码数据区的二进制位图;提取码流提取码流码流纠错码流译码进制位图校正后的条码信息输出4.5.1生成映射数据区的二进制位图过校正的宽、高均为100的10?10的条码图像为例,如图4-21所示。0图4-2110×10的条码校正图像扫描线s1和s2,如图4-21所示。基于条码模块尺寸均在3*3以上的假设,在条码上边缘下方2像素处做s1过(0,98)点平行于x轴,而在条码右边缘左侧2像素处做s2过(98,0)点位置。利用扫描线记录的黑白交替时的横(纵)坐标位置计算出各列(行)的中心横(纵)坐标。令扫描线记录的第i次交替的横(纵)坐标为Di,则数据区第i列(行)的中心横(纵)图4-2210×10条码的采样网格条码的数据区被对齐模式分割为4个14?14的小数据区,要将这4个小数据区组合构成一个图4-23给出了32?32的条码的对齐模式。格时应忽略对齐模式,生成与条码小数据区个数相等的小网格。图4-24给出了一个32*32图4-2432×32的条码的采样网格由此网格采样,得到4个14?14的小数据区的二进制位图,要将这4个小数据区的位图按照它们之间的相对位置组合构成一个28?28的映射数据区的二进制位图才能进行后续处4.5.2提取码流符符号由8个模块从左到右,从上到下排放而成,表示一个8比特字节的二进制信息,如图4-25所示,其中每个模块表示一个二进制的数值,黑色模块表示1,白色模块表示0。图4-25字符符号示意图[52]列方式,还规定了分开的两部分模块之间的相对位置[52],如表4-1所示。而对于图4-28所据区尺寸为142,222的条码;图4-28(c)适用于数据区尺寸为6*28,14*44的条码;图4-28(d)适用于数据区尺寸为6*16,14*32的条码。表4-1边界字符符号两部分模块的相对位置[52]序号模块a8和a7所在行的关系模块c6和c3所在列的关系条码数据区尺寸1a7行=a8行c3列=c6列2a7行=a8行-2c3列=c6列-23a7行=a8行+4c3列=c6列+44a7行=a8行+2c3列=c6列+25a7行=a8行c3列=c6列+26a7行=a8行c3列=c6列-27a7行=a8行+4c3列=c6列+23x1x2了一套独有的字符排列规则用于将各字符符号排列组合为工整的矩形数据区。如图4-29所示,第二个字符符号被放在最左上角的位置,其中2.字符;字符符号被安排在45度的从左下向右上的平行斜线上,通常情况下,这个斜线是贯穿字符符号的第8个模块;完全包含在数据区内部的字符符号按照图4-25排列模块,而位于数据区边界和拐角处的字符符号则分别按照图4-26、4-27、4-28和表4-1排列模块;第一条斜线起始于第一个字符符号的第8个模块,继续贯穿2.8和3.8模块;这个斜线贯穿顶部边界,下一条斜线从最顶端的一行向右四个模块开始向左下方贯穿,字符符号按照斜线贯穿第8模块的原则按顺序排列在斜线路径上;斜线之间均相距4个模块,每条斜线位于前一条斜线的右方或下方,所有奇数斜线从左下方贯穿到右上方,所有偶数斜线从右上方贯穿到左下方;当排列路径中遇到前述的边界或转角字符符号部分,并且这个部分是在路径到达此位置前就已被标号时,忽略这一部分,排列路径只给未被标号的符号标号。例如,图4-29所示字符3和7的不包含第8模块的其他部分在排列路径到达前就已经被标号放置了,排列路径忽略这些位置。当所有符号都已经被放置标号,对字符符号放置位置的处理结束,此时排列斜线会中止于数据矩阵的右下方。对数据区尺寸为10*10,14*14,18*18,22*22的条码,右下角会有2*2的空白区域。这个区域内左上角和右下角的两个模块被定义为黑色,由图4-29可见。其他条码则不存在空白区域,如图4-30所示。《《166UU图4-3012×12的数据区矩阵排列[52]图中可看出,72×72的DataMatrix码字被交织成4部分。即从码字序列中分别每隔4位抽3429455daococewords日262637374848图4-3172×72的DataMatrix条码交织编码方式[52]4.5.3码流纠错领域中最重要,也是研究最多的码类之一[78-88]。在对付随机错误和突发错误以及两者的组合错误时,该码都有较强的纠错能力,目前被广泛地应用于深空通信、卫星通信、军用通信、移动通信和磁盘阵列等各种差错控制系统中。RS码的主要特点是:(1)具有严格的代数结构,构造简单,易于软硬件实现。(2)纠正突发错误的能力很强(一个符号中错1比特和连续错m比特,RS码都当一个符号来纠正)。(3)是极大最小距离可分码,简称MDS码。其最大可能的最小距离是校验元的个数加1,设计距离与实际距离是一致的。其纠错能力由辛格尔顿限给出上界:一个RS(n,k)码可以纠长度不超过(n-k)/2的随机错误或连续长度不超过(n-k)/2的突发错误,其中n为码流长度,k为其中信息码的长度。针对信道中出现的连续突发错误,若在常规译码算法中充分考虑到码元错误位置的相关性,则一个RS(n,k)码可以纠连续长度接近(n-k)的突发错误,当连续长度超过(n-k)/2时,译码会带来相对很小的错误概率。这样就在不增加码长和码间距离的情况下提高了码字纠错能力。在非二元BCH码中,RS码是其中较重要的一个子类,其码元符号和生成多项式的根都取自于迦罗华域GF(q),一般为GF(2”)域。域中的每个元素可以用m个比特符号来表示。对于特;信息段k符号或mk比特;监督段n-k=2tD=n-k+1=2t+1符号或m(2t+1)比特由于RS码的最小距离是校验元的个数加1,符合线性分组码最大可能的最小距离要求。因此,RS码为极大最小距离可分码(MDS)。当RS码用来纠正突发错误时,它可以纠正的错误图样有:比特的单个突发;到的码字是(n,n-2t)循环码。由于RS码中的每个码元是由m个比特位组成的,因此当信道中的突发干扰使得码字中若干个连续比特位发生错误时,仅相当于几个码元符号出现错误,所以RS码特别适合纠正突发成片的错误。RS码的译码基本原理与一般线性码的译码原理相同,即由接收到的码字R(x)求得错误图不仅要找出错误位置,而且还要找出对应位置的错误大小,因此RS码的译码分为3步:第1步,由接收到的码多项式R(x)求多个伴随式的值第2步,由伴随式的值求出错误位置;假设错误图样E(x)=ex+e₂x²+…+eqx+e,e,生t个错误,分别位于Xi,相应的错误值为Yi,i=1,2...t,s=R(a)=E(a)为GF(2”则错误图样为)的元素。若信道产s₂,=R(a²)=E(a²)要由伴随式的值求出错误位置,首先假设一个错误位置多项式:就得到错误位置多项对k求和并写成矩阵形式为:该方程组有解的充要条件是系数矩阵为满秩。实际上,只有当错误个数为t时系数矩阵为满秩;当错误个数r<t时,必须先将系数矩阵降至r阶满秩。解方程组就能求得o₁,O₂…,σ,。例如,当产生一个错误时,t=1,由上式可得:若产生2个错误,则:这种解方程组的方法只适合码长较短,纠错能力较小的情况,当码长较长时解方程组的计算量非常大,必然影响译码的速度,迭代译码算法可以解决这个问题。BM迭代算法是1968年由伯利坎普(Berlekamp)提出的迭代算法极大加速了错位多项式的求解,梅西(Massey)在设计自回归滤波器的设计过程中重新推导了这个算法[89]。BM迭代算法流程图如图4-32所示。Y,隐有错离'YA+1)-退面个kr0-π由铺议图程利福Y有不晖的用错有不晖的用错图4-32BM站代算法流程图做乘积代入上式,可得:a(x)≤2迭代法就是首先选择一组初值,如o¹(x)和w)(x),然后开始第一次迭代运算得到可见。jd012110001由图4-32和表4-2可看出迭代算法得步骤如下:(1)由初值σ~(x)=1,D(-1)=0,d_=1,σ¹"迭代。(2)如;否则,找出第j行之前使i-D(i)最大且d≠0行(i<j),则o¹+(x)=o(x)-ddj¹ra⁴(x);否则,(3)如果j=2t-1,完成迭代,;否则,。-是否有错,译码器计算:若上式值为-1,l-1进行检验,就的情况,这说明有不可纠的错误发生,时,不进行纠错,放弃译码。最后要做的就是计算每个错误位置处的差错值,然后与原位置值相加,生成正确的条码值。钱氏搜索算法推导如下:定义将式(4-39)代入此式可得,则:因为得到这个错误值后,与原来得到的值相加,就得到了正确的数值,达到了纠错的目的。4.5.4码流译码纠错后的二进制码流包括信息码和纠错码两部分,码流译码就是将信息码部分按照码流中指定的编码方式译码成为ASCII字符串从而得到条码所含信息。ECC200的编码方式共有六编码。ASCII编码是其基本方式,下面给出这六种编码方式的译码方法。(1)ASCII编码。ASCII编码是ECC200的默认编码方式,所有码流的第一个码字都是采用ASCII编码方式编码的。编码值为1-128的码字为基本ASCII字符,将编码值减1即是相应字符的ASCII值;如遇到编码值为235的码字,则表示紧随其后的一个码字表示的是扩展ASCII字符,此时忽略编码值为235的码字,而将紧随其后的一个码字的编码值减1再加128即得相应的扩展ASCII字符(128-255);若编码值为130-229,则该码字表示一个两位的十进制数字,只需将编码值减去130即可得到编码前的数字;编码为其它数值的码字为控制字符。(2)C40编码。码字230表示后续码字为C40编码方式直至遇到码字254或码流结束为止。每两个以C40编码方式编码的码字代表了3个C40码值,得到的C40码流经查表可得相应的ASCII字符。令译码前采用C40编码方式编码的连续两个码字为a和b,译码所得的相应的3个C40码值C=v/1600,C2=(v%1600-1)/40,码字239表示后续码字为TEXT编码方式直至遇到码字254或码流结束为止。TEXT编码方式与C40编码方式相同仅字符集不同,此处不再赘述。(4)ANSIX12编码。码字238表示后续码字为ANSIX12编码方式直至遇到码字254或码流结束为止。ANSIX12编码方式与C40编码方式相同仅字符集不同,此处不再赘述。码字240表示后续码字为EDIFACT编码方式直至经重组后的EDIFACT码流中遇到6位二进制码字011111为止。每3个采用EDIFACT编码方式编码的码字为一组表示4个6位的二进制EDIFACT码值,根据每个EDIFACT码值的最高位给每个EDIFACT码值前面加上前导符生成8位的ASCII码值:若EDIFACT码值最高位为0,则在EDIFACT码值前面加01;反之,则在EDIFACT码值前面加00。(6)BASE256编码。码字231表示后续码字为BASE256编码方式,紧随其后的一个或两个码字为采用此编码方式进行编码的长度。令收到的码字为codeword,码字的位置为position,译码结果为result,则pseudo_random_mumber=(149×position)%255+1(4-49)本章首先简单介绍了DataMatrix条码符号特征,接下来详细介绍了DataMatrix条码定位中的核心算法,针对条码区域提取和条码精定位问题分别提出了基于Gabor滤波和BP神经网络的DataMatrix条码区域提取方法及基于边界跟踪和Radon变换相结合的DataMatrix条码定位方法。实验结果证明这两种方法能够很好的完成各自任务,正确提取和定位图像中的DataMatrix条码,为后续解码过程奠定了基础。然后,本章又介绍了ECC200型DataMatrix条码图像的校正和译码过程:根据前述定位所得到条码区域的4个顶点坐标,计算出可校正所有刚体变换失真的坐标变换矩阵,并利用此矩阵对条码图像进行几何校正,得到以条码寻边区“L”的角点为坐标原点,以条码底边为x轴,以条码左边为y轴仅含完整条码的图像,然后通过扫描条码寻边区的铁路线得到条码行列数以及各行(列)的中心纵(横)坐标进而生成采样网格对条码映射数据区采样形成其二进制位图并按ECC200的模块排列规则扫描位图,提取其二进制码流,再经过RS码纠错后,根据不同的编码方式译码得到条码中所包含的完整信息。第五章基于DSP的嵌入式二维条码识读终端的设计秒60次,首读率在98%以上,而其总成本仅需大约5000元。此终端外形如图5-1所示。图5-1基于DSP的嵌入式二维条码识读终端5.1终端概述所以为了保证条码识读的精度、成功率和速度,本文创新性地以德州仪器(Texas●最小可分辩模块宽度可达5mil,对一维条码要达到3mil;●识读速度可达每秒10次以上,最高达到每秒60次;该区域内的图像)位置及大小、图像处理模式(简单或复杂)等参数;●前端的数字图像分辨率为WVGA,即宽752像素,高为480像素;进行分析处理,识读图像中的条码。在解码完成后,由DSP芯片经I2C总线将5.2终端硬件系统设计E0者日香E0者日香林Tt和由DE图5-2系统硬件框图 0CanahnfI州ad图5-3TMS320C6713功能框图[91]的C/C++优化编译器,简单易用的图形化集成开发环境CCSIDE(CodIntegratedDevelopmentEnvironment),实时的JTAG仿真调试接口,以及DSP/BIOS系统内核;这些特性提高了系统开发效率,降低了系统调试难度,大大缩短了项目的开发周期[94]。5.2.2硬件主要模块设计及实现者ipoutQfbdrsp4st47nt>gybubm传77tp00VwQQpnnFA49a重言也苦日用见意见色言言意马意文见言集是重色重毒子言言者古在者色重言也苦日用见意见色言言意马意文见言集是重色重毒子言言者古在者色Do4bobo14A14Crrxrrkr4玉重4a作为控制核心,将ImageSensor输出的视频信号流以帧为单位保存到高速SRAM中,并在合AA图5-6图像采集模块框图对ImageSensor的接口的设计方案相对简单,只需连接ImageSensor的主时钟(SYSCLK)端,将Reset和Power-down管脚置相应的电平,并将ImageSensor输出的8位数据(Dout[0:butbuatncapcNCptoAN_Uopa1A+tAambyaA即HncaH_07n1u 0506WHENADDR9-1-CS2>C3;CND--WHENA0DRB-0-usC987>CS1WHEIADDAs-1--CS2->CS0;GN0-W94369ABE0s图5-8RAM乒乓控制电路的读写周期必须小于像素时钟周期,而在60FPS的帧率下,ImageSensor的像素时钟周期约为20ns;三、SRAM的容量最小应可以容纳一帧的图像数据,即752*480=350KB。经过论证,本系统选用的SRAM为ISSI公司的IS61WV10248ALL,该芯片的存储空间为1024KB,总线宽度为8bit,访问周期为10ns。既满足系统要求,且保留了足够的可扩展性。5.2.2.3补光系统设计补光系统的性能直接影响到了采集到的数字图像的对比度,不稳定的补光光强会加重软件的运算负担,严重时可能会导致运算无结果或结果错误。因此,对补光LED的光强控制就尤为重要。而想要控制LED的发光强度,就必须精确的控制通过LED的电流,传统的恒流源电路分立元件多,对元件参数精度要求较高,不利于调试和稳定工作。本系统里选用MAX1573作为LED的驱动芯片,提高了LED光强的可控性,降低了电路设计和调试的复杂程度,同时也减小了LED驱动电路部分占用的板上面积。补光系统原理图如下。mpmp,■mmn■n■显bt三三图5-9补光系统原理图其中,U9是一片I2C接口的三路输出数字电位器DS3904,其地址选择引脚A0接地,这5.2.2.4数据通信接口接收固件更新信息;因此连续传送的数据量最大为数据输出波特率=解码率*码流长度*8(5

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论