数字图像处理之二维码图像提取算法(二)

二维码标准:

国外:pdf417DatamatrixQR

国内:龙贝,汉信。

 

图像输入-> 图像预处理-> 二维码图像切割(定位)-> 二维码图像校正-> 译码

译码:二维码码字提取-> 纠错译码-> 信息译码

纠错译码:求解伴随因子(判断)

          正确码字=Yji ^ 错误码字。;

信息译码:模式指示+字符段+数据位流

          判断编码模式和字符个数

          按照对应的编码模式进行解码。

 

彩色图像(RGB)图像索引。

图像的采样和量化。

 

图像的采样和数字图像的质量:二维矩阵。

1、对比度;

2、清晰度(亮度,对比度,尺寸大小,降低颜色饱和度);

3、等等。

 

数字图像的表示:顺序存放的连续数据。位图信息头,调色板(保存图像颜色值),实际的图像数据。

 

图像处理模块的实验:

拍摄图像输入->预处理->图像定位->图像校正->解码

 

一、预处理:(增强图像的清晰度)

数字图像处理之二维码图像提取算法(二)_第1张图片

图像的灰度化处理:

摄像头采集到的二维条码图片是RGB格式的彩色图像,由红(Red)、绿(Green)、 蓝(Blue)三种基本颜色按照一定的比例混合得到,每一种颜色分量有256个灰度级,
2^24三种颜色组合可以表示出 种颜色,几乎可以表示人类能够感知到的所有颜色[34]。彩色图像包含了大量识别过程中不需要的色彩信息,这些信息都需要占用存储空间。在计算机中,R、G、B三个分量分别占用一个字节的内存,一个像素至少需要占用三个字节的内存。灰度图像只表示亮度信息,只需要占用一个字节内存。所以, 在图像处理过程中,通常都先将彩色图像转换成灰度图像,这样不但可以减少存储开销,而且可以减少后续图像处理的计算量,加快二维条码识别速度。假设灰度图像中灰度值用 Y 表示,彩色图像各分量的灰度值分别为 R、 G、 B,那么标准的灰度值Y的计算公式为:

          0.30R+ 0.59G+0.11B

 

中值滤波:

普通CMOS摄像头采集到的二维条码图像中经常会含有一些噪声点,导致图像 退化,对后续的条码识别产生严重的干扰,降低条码识别率。针对图像中普遍存在的高斯噪声、椒盐噪声采取了中值滤波降噪处理,能够有效的去除上述几种噪声,保护图像的边缘信息,不会对后续的边缘提取产生很大的影响。

中值滤波[21]具有良好的噪声抑制能力,是一种非线性平滑技术。 对于像素点 , 它统计其领域窗口内所有像素点的灰度值并进行排序,将这个像素点的灰度值设置 为排序后的中间值。 一般选取窗口像素点个数都为奇数,因此中值滤波的数学表达 式如下:

                     数字图像处理之二维码图像提取算法(二)_第2张图片


窗口选取对图像中值滤波的效果也将产生很大的影响。根据不同的应用场合需 要采用不同的采样窗口,常见的采样窗口有十字形、米字型、棱形、矩形等,其中 矩形窗口最为常用。本文主要是去除二维条码图像中含有的椒盐噪声,结合二维条 码的特性,选用 3× 3 的矩形窗口作为滤波窗口:

 

                                                                              


中值滤波是通过对邻域内像素的灰度值进行排序,能后选取排序结果的中间值 作为该像素点的灰度值来实现的。图像中存在的椒盐噪声一般是随机分散分布的, 在较小的领域内通常不会存在多个椒盐噪声,经过排序后,噪声点通常是排在靠前或者靠后的位置,因此,中值点的值比较能代表这个像素点的实际灰度值。中值滤 波的具体操作过程如下:(1) 遍历这个模板中所有像素点的灰度值;(2)将这些灰度值从小到大进行排序;(3)选取排序结果的中间值,并将其作为这个模板中心像素点的灰度值。


二值化处理:

基于门限化的二值化方法。大津算法(Otsu)就是其中的代表,对光照均匀的图片具有良好的分割效果。但拍摄时,由于光源的不确定性 经常会导致拍摄到的图像存在光照不均的现象,图像中靠近光源那边比较明亮,另一边则比较暗,对后续的图像二值化处理产生严重的影响。这里就采用了一种自适应亮度均衡化算法

      日本学者大津展之首先提出了最大类间方差理论,也叫做大津算法,简称 OTSU 算法[10]。它的基本思想如下:设定一个阈值 t,它把一幅灰度图像分割成两组,一组灰度对应目标图像,另一组对应背景图像。假设灰度图像的灰度值为0~k 级, t 从 0 开始取值,一直到 k, 当 t=T 使得这两组灰度值的类间方差最大,类内方差最小时, 目标图像和背景图像两部分的差别达到了最大化, 若将此时的阈值T 作为二值化的门限值, 将获得最佳的二值化效果。

    比如:一幅大小为 M× N 的 QR 条码图像, 设阈值 t 将图像分割成前景色和背景色两组ni为图像中灰度值为 的像素个数, G 为灰度图的最大灰度级, 8位灰度图的最大灰度级为 255,则:
前景/背景色像素点占整个图像的比例w1和w2分别为:

       数字图像处理之二维码图像提取算法(二)_第3张图片

        数字图像处理之二维码图像提取算法(二)_第4张图片


      

    由于大津算法是全局阈值法,图像分割阈值的选取是建立在整幅图片前景色和背景色的区分基础上的,当图像中存在比较严重的光照不均时,容易错误的将图像中较暗的部分认为是前景色, 较亮的部分背景色,而不是把条码本身作为前景色,得到错误的门限阈值, 得到的效果并不理想.

       所以使用自适应亮度调节!




你可能感兴趣的:(Video,Coding,&,Image,Pro)