条码识读前的图像处理理论和算法
作者:标尚条形码代理有限公司 时间:2022-09-12 08:10:51
条码在识读之前必须进行图像处理,下面商品条码申请介绍几种常见的图像处理的理论和算法。
1.灰度处理
数字图像在计算机上以位图的形式存在,位图是一个矩阵式点阵,其中每一点称为像素,像素是数字图像中的基本单位。一幅m×n大小的图像,是由m×n个明暗度不等的像素组成的。数字图像中各个像素所具有的明暗程度由灰度值所标识。一般将白色的灰度值定义为255,黑色的灰度值定义为0,而由黑到白之间的明暗度均匀地划分为256个等级。对于黑白图像,每个像素用一个字节数据来表示,而在彩色图像中,每个像素需用三个字节数据来表述,就能呈现五彩缤纷的颜色。彩色图像可以分解成红(R)、绿(G)、蓝(B)三个单色图像,任何一种颜色都可以由这三种颜色混合构成。在图像处理中,彩色图像的处理通常是通过对其三个单色图像分别处理而得到的。但是一幅彩图中每个像素都用RGB分量表示,图像文件将会变得非常庞大,因此在实际应用中,通常采用调色技术,将256色位图转变为灰度图像。对于24位真彩图,每个像素用三个字节分别表示R、G、B三个分量。将256色位图转换为灰度图像,首先必须计算每一种颜色对应的灰度值。256色位图的灰度图像与RGB值的对应关系如下:
Y=0.299R+0.587G+0.114BR=G=B=Y
根据R、G、B的值求出Y值后,将R、G、B的值都赋予Y值,写入新图,这样就可以将256色位图转换成灰度图像。
2.灰度直方图
在数字图像处理中,一个简单和有用的工具是直方图,它概括一幅图像的灰度级内容。任何一幅图像的直方图都包括了可观的信息,某些类型的直方图还可以由其直方图完全描述。直方图的计算是简单的,直方图的计算可以用相当低的代价来完成。
直方图是灰度值的函数,描述的是图像中具有该灰度级的像素的个数,其横坐标级(0~L-1),纵坐标表示该灰度出现的频率(像素的个数)
3.图像二值化处理
为了便于对图像进行后续处理,需要对图像进行二值化处理,二值化处理将不可避免地丢失图像信息。若阈值选取过小,会提取多余的部分;若选取的过大,会丢失所需要的图像信息。因此阈值选取是图像二值化处理中的一项重要技术,它的选取直接关系到后续的处理。针对条码识读系统而言,二值化图像的效果直接影响到条码识读的可靠性。
阈值化分割原理:先确定一个处于图像灰度取值范围之中的阈值,然后将图像中各个像素的灰度值都与这个阈值相比较,并根据比较结果将对应的像素划分为两类:像素灰度值大于阈值的为一类,像素值小于和等于阈值的为另一类。这两类像素一般分属图像中的两类区域,所以对像素根据阈值分类达到了分割的目的。如果一个物体其内部具有均匀一致的灰度值,并分布在一个具有另一个灰度值均匀背景中,使用阈值的效果更佳。
阈值分割算法主要有两个步骤:
①确定需要的分割阈值。
②将像素与分割阈值做比较并划分。
条码应用系统的组成
条码应用系统就是将条码技术应用于某一系统中,充分发挥条码技术的优点,使应用系统更加完善。
数据源标志着客观事物的符号集合,是反映客观事物原始状态的依据,其准确性直接影响着系统处理的结果。因此,完整准确的数据源是正确决策的基础。在条码应用系统中,数据源是用条码表示的,如图书管理中图书的编号、读者编号,商场管理中货物的代码等等。目前,国际上有许多条码码制,在某一应用系统中,选择合适的码制是非常重要的。
条码识读器是条码应用系统的数据采集设备,它可以快速准确的捕捉到条码表示的数据源,并将这一数据送给计算机处理。随着计算机技术的发展,其运算速度、存储能力有了很大提高,而计算机的数据输入却成了计算机发挥潜力的一个主要障碍。条码识读器较好地解决了计算机输入中的“瓶颈”问题,大大提高了计算机应用系统的实用性。
计算机是条码应用系统中的数据存储与处理设备。由于计算机存储容量大,运算速度快,使许多繁冗的数据处理工作变得方便、迅速、及时。计算机用于管理,可以大幅度减轻劳动者的劳动强度,提高工作效率,在某些方面还能完成手工无法完成的工作。近年来,计算机技术在我国得到了广泛应用,从单机系统到大的计算机网络,几乎普及到社会的各个领域,极大地推动了现代科学技术的发展。条码技术与计算机技术的结合,使应用系统从数据采集到处理分析构成了一个强大协调的体系,为国民经济的发展起到了重要的作用。
应用软件是条码应用系统的一个组成部分。它是以系统软件为基础为解决各类实际问题而编制的各种程序。应用程序一般是用高级语言编写的,把要被处理的数据组织在各个数据文件中,由操作系统控制各个应用程序的执行,并自动地对数据文件进行各种操作。程序设计人员不必再考虑数据在存储器中的实际位置,为程序设计带来了方便。在条码管理系统中,应用软件包括以下功能:
(1)定义数据库。包括全局逻辑数据结构定义、局部逻辑结构定义、存储结构定义及信息格式定义等。
(2)管理数据库。包括对整个数据库系统运行的控制、数据存取、增删、检索、修改等操作管理。
(3)建立和维护数据库。包括数据库的建立、数据库更新、数据库再组织、数据库恢复及性能监测等。
(4)数据通信。具备与操作系统的联系处理能力、分时处理能力及远程数据输入与处理能力。信息输出则是把数据经过计算机处理后得到的信息以文件、表格或图形方式输出,供管理者及时、准确地掌握这些信息,制定正确的决策。开发条码应用系统时,组成系统的每一环节都影响着系统的质量。
条码扫描模组又叫扫码模组、扫码模块、扫码引擎、扫码头,从功能上分为:一维码扫描模块(激光扫描模组)、二维码扫描模块、CCD扫描模块。
它们的区别是:
一维码扫描模组只扫描一维条形码,纸质条形码
二维码扫描模组可以扫描一维条形码、二维码、手机屏幕条形码、手机屏幕二维码。
CCD扫描模组可以扫描一维条形码、纸质条形码、手机条形码
条码扫描模组又叫扫码模组、扫码模块、扫码引擎、扫码头,从功能上分为:一维码扫描模块(激光扫描模组)、二维码扫描模块、CCD扫描模块。
它们的区别是:
一维码扫描模组只扫描一维条形码,纸质条形码
二维码扫描模组可以扫描一维条形码、二维码、手机屏幕条形码、手机屏幕二维码。
CCD扫描模组可以扫描一维条形码、纸质条形码、手机条形码
以上就是对扫描模块的一些简单介绍,这样你就可以根据你的实际使用场景和需要扫描的条码类型来选择合适的扫描模块了。
运作原理
识别原理
要将按照一定规则编译出来的条形码转换成有意义的信息,需要经历扫描和译码两个过程。
物体的颜色是由其反射光的类型决定的,白色物体能反射各种波长的可见光,黑色物体则吸收各种条形码
制作波长的可见光,所以当条形码扫描器光源发出的光在条形码上反射后,反射光照射到条码扫描器内部的光电转换器上,
光电转换器根据强弱不同的反射光信号,转换成相应的电信号。根据原理的差异,扫描器可以分为光笔、红光CCD、激光、影像四种。电信号输出到条码扫描器的放大电路增强信号之后,再送到整形电路将模拟信号转换成数字信号。
白条、黑条的宽度不同,相应的电信号持续时间长短也不同。主要作用就是防止静区宽度不足。
然后译码器通过测量脉冲数字电信号0,1的数目来判别条和空的数目。通过测量0,1信号持续的时间来判别条和空的宽度。
此时所得到的数据仍然是杂乱无章的,要知道条形码所包含的信息,则需根据对应的编码规则
(例如:EAN-8码),将条形符号换成相应的数字、字符信息。最后,由计算机系统进行数据处理与管理,
物品的详细信息便被识别了。
扫描原理
条形码的扫描需要扫描器,扫描器利用自身光源照射条形码,再利用光电转换器接受反射的光线,
将反射光线的明暗转换成数字信号。不论是采取何种规则印制的条形码,都由静区、起始字符、
数据字符与终止字符组成。有些条码在数据字符与终止字符之间还有校验字符。
静区:静区也叫空白区,分为左空白区和右空白区,左空白区是让扫描设备做好扫描准备,右空白区是保证扫描设备正确识别条码的结束标记。
为了防止左右空白区(静区)在印刷排版时被无意中占用,可在空白区加印一个符号(左侧没有数字时印<;号,右侧没有数字时加印>;号)这个符号就叫静区标记。
主要作用就是防止静区宽度不足。
只要静区宽度能保证,有没有这个符号都不影响条码的识别。
起始字符:第一位字符,具有特殊结构,当扫描器读取到该字符时,便开始正式读取代码了。
数据字符:条形码的主要内容。
校验字符:检验读取到的数据是否正确。不同编码规则可能会有不同的校验规则。
终止字符:最后一位字符,一样具有特殊结构,用于告知代码扫描完毕,同时还起到只是进行校验计算的作用。
为了方便双向扫描,起止字符具有不对称结构。因此扫描器扫描时可以自动对条码信息重新排列。
条码扫描器有光笔、CCD、激光、影像四种
光笔:最原始的扫描方式,需要手动移动光笔,并且还要与条形码接触。
CCD:以CCD作为光电转换器,LED作为发光光源的扫描器。在一定范围内,可以实现自动扫描。
并且可以阅读各种材料、不平表面上的条码,成本也较为低廉。但是与激光式相比,扫描距离较短。
激光:以激光作为发光源的扫描器。又可分为线型、全角度等几种。
影像:以光源拍照利用自带硬解码板解码,通常影像扫描可以同时扫描一维及二维条码,如Honeywell引擎。
线型:多用于手持式扫描器,范围远,准确性高。
全角度:多为工业级固定式扫描,自动化程度高,在各种方向上都可以自动读取条码及输出电平信号,结合传感器使用。
上一篇:商品的条码有哪些意想不到的作用?
下一篇:条形码颜色设置方法有哪些?