CN103336938B - 一种基于一维条形码图像的识别方法 - Google Patents

一种基于一维条形码图像的识别方法 Download PDF

Info

Publication number
CN103336938B
CN103336938B CN201310221750.7A CN201310221750A CN103336938B CN 103336938 B CN103336938 B CN 103336938B CN 201310221750 A CN201310221750 A CN 201310221750A CN 103336938 B CN103336938 B CN 103336938B
Authority
CN
China
Prior art keywords
bar code
extreme point
dimensional bar
image
dimensional
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201310221750.7A
Other languages
English (en)
Other versions
CN103336938A (zh
Inventor
许勇
董华冰
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
South China University of Technology SCUT
Original Assignee
South China University of Technology SCUT
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by South China University of Technology SCUT filed Critical South China University of Technology SCUT
Priority to CN201310221750.7A priority Critical patent/CN103336938B/zh
Publication of CN103336938A publication Critical patent/CN103336938A/zh
Application granted granted Critical
Publication of CN103336938B publication Critical patent/CN103336938B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Image Analysis (AREA)
  • Character Discrimination (AREA)

Abstract

本发明公开了一种基于一维条形码图像的识别方法,包括:S1用户通过移动电子设备对一维条形码进行拍照;S2对拍摄的一维条形码图像进行角度的校正;S3选取一维条形码图像任意的2-3行进行垂直投影,得到一维条形码投影曲线;S4基于一维条形码投影曲线,得到始末极值点位置;S5进一步定位出条形码投影曲线中59个极值点位置;S6利用条形码边缘像素区域算法得到条形码边缘像素值区域,得到条形码黑白条宽度向量集;S7基于条形码黑白条宽度向量集,运用全局和局部的欧氏距离算法进行解码;S8对解码出的条形码字符进行检验。本发明具有灵活、实时、方便、稳定、识别正确率高等优点。

Description

一种基于一维条形码图像的识别方法
技术领域
本发明涉及计算机视觉相关领域,特别涉及一种基于一维条形码图像的识别方法。
背景技术
伴随着经济的快速发展和科技的进步,人们消费观念的逐步提升,如果在消费时能够及时了解各大卖场商品的真伪、销售价格或者相关商品的信息,这将对买家带来很大的便利。但是,目前条形码的识别主要通过条形码激光扫描设备进行识别,并且市场上常用的激光读码器成本较高,携带不方便,所以我们希望能够通过利用我们的手机等电子设备所具有的拍照功能,对商品上的条形码进行拍照;然后,再利用手机网络或者免费提供的无线网络,及时了解所需产品的相关信息。这就需要通过计算机视觉相关领域知识对拍摄的条形码图像进行识别。
发明内容
本发明的目的在于克服激光读码器解码所带来的不便,提供一种基于一维条形码图像的识别方法,该方法具有实时、方便、识别率高等优点。
本发明的目的是通过下述技术方法实现的:
一种基于一维条形码图像的识别方法,包括以下步骤:
S1、用户通过移动电子设备对一维条形码进行拍照;
S2、对拍摄的一维条形码图像进行角度的校正;
S3、选取一维条形码图像中相邻的2-3行进行垂直投影,得到一维条形码投影曲线;
S4、基于一维条形码投影曲线,得到第一个黑条中间位置和最后一个黑条的中间位置即始末极值点位置;
S5、基于始末极值点位置,进一步定位出条形码投影曲线中59个极值点位置;
S6、利用条形码边缘像素区域算法得到条形码边缘像素值区域,继而得到条形码黑白条宽度向量集;
S7、基于条形码黑白条宽度向量集,运用全局和局部的欧氏距离算法进行解码;
S8、对解码出的条形码字符进行检验,如果正确则识别结束,否则调用纠错算法进行错误条形码字符校正,如无法校正转为S3。
所述S2对拍摄的一维条形码图像进行角度的校正,具体步骤为:
S2.1利用Radon变换来实现图像在不同方向的投影;
S2.2对投影数据进行差分处理,差分值绝对值的最大值方向与条形码互相垂直;
S2.3对图像进行旋转操作,实现对图像的校正。
所述步骤S3中选取条形码区域中相邻的2-3行进行垂直投影是通过对每行所对应元素上的数据求和,然后求取平均值所得。
所述步骤S6中运用条形码边缘像素区域算法得到条形码边缘像素值区域,具体包括如下步骤为:
S6.1条形码边缘像素区域为极值点的范围,所述极值点的范围在所述59个极值点中的三个极大值点中的最小值和所述59个极值点中三个极小值点中的最大值之间;
S6.2利用条形码梯度域来对条形码的边缘像素值区域做进一步的定位;
S6.3筛选出既满足S6.2,又满足边缘差分值的像素值中的最小值和最大值为条形码边缘像素值的区域。
所述S4基于一维条形码投影曲线,定位第一个黑条中间位置和最后一个黑条中间位置,具体步骤为:
S4.1定位一维条形码投影曲线中所有的极值点;
S4.2从左向右依次遍历极值点,如果该极值点小于该极值点到其左边第λ个极值点均值的0.85倍,则该极值点为第一个极值点;
从右向左依次遍历极值点,如果该极值点小于该极值点到其左边第λ个极值点平均值的0.85倍,则该极值点为最后一个极值点;所述λ的范围为10-15。
与现有技术相比,本发明具有如下有益效果:
(1)灵活性:本发明采取了基于Radon变换的条形码拍摄角度校正算法,对不同角度拍摄的条形码图像都可以进行识别,解决目前方法中需要垂直条形码进行拍照才能进行识别的问题,提高了拍照的灵活性。
(2)实时性:我们的方法主要是对1行n列(n为拍摄图像宽度)的矩阵进行数据处理,因此算法简单,计算速度快。
(3)解决了手机等终端像素较低、光照不均、拍摄距离和抖动等影响图像质量的干扰,对各种情况下拍摄的条形码图像都具有很高的识别率。
(4)鲁棒性强:提出基于全局和局部的欧氏距离算法和基于条形码投影曲线的纠错算法,进一步提高了识别方法的鲁棒性。
(5)方便性:用户只需要在手机等终端安装相关软件,就可以非常方便的了解商品信息。
附图说明
图1是本发明一种基于一维条形码图像的识别方法的工作流程图。
具体实施方式
下面结合实施例及附图,对本发明作进一步地详细说明,但本发明的实施方式不限于此。
实施例
如图1所示,一种基于一维条形码图像的识别方法,包括如下步骤:
S1用户通过移动电子设备对一维条形码进行拍照,所述移动电子设备可以为手机。
S2对拍摄的一维条形码图像进行角度的校正,具体步骤为:
S2.1利用Radon变换来实现图像在不同方向的投影;
S2.2对投影数据进行差分处理,差分值绝对值的最大值方向与条形码互相垂直;
S2.3对图像进行旋转操作。
S3选取一维条形码图像中相邻的2-3行进行垂直投影,得到一维条形码投影曲线,所述步骤S3中选取条形码区域中相邻的2-3行进行垂直投影是通过对每行所对应元素上的数据求和,然后求取平均值所得。
所述一维条形码为M行N列的矩阵,首先从条形码矩阵中选取相邻的2-3行,也就是相邻的横跨条形码区域的2-3条线,这线就对应一行N列的矩阵,然后将2-3个一行N列矩阵相加求取平均值,仍为一个一行N列的矩阵,也就是一维条形码投影曲线
S4基于一维条形码投影曲线,得到第一个黑条中间位置和最后一个黑条中间位置,也就是始末极值点位置,具体步骤为:
S4.1定位一维条形码投影曲线中所有的极值点;
S4.2从左向右依次遍历极值点,如果该极值点小于该极值点到其左边第λ个极值点均值的0.85倍,则该极值点为第一个极值点;
从右向左依次遍历极值点,如果该极值点小于该极值点到其左边第λ个极值点平均值的0.85倍,则该极值点为最后一个极值点;所述λ的范围为10-15,确定始末极值点的位置也就是第一个黑条中间位置和最后一个黑条中间位置。
S5基于始末极值点位置,进一步定位出条形码投影曲线中59个极值点位置,判断是否为59个极值点,如果是则转为下一步,否则转为S3。
S6利用条形码边缘像素区域算法得到条形码边缘像素值区域,具体步骤为:
S6.1条形码边缘像素区域的初步定位:条形码边缘像素区域为极值点的范围,所述极值点的范围在所述59个极值点中的三个极大值点中的最小值和所述59个极值点中三个极小值点中的最大值之间;
S6.2条形码边缘像素区域的精确定位:条形码的边缘就是像素值变化比较大的区域,利用条形码梯度域来对条形码的边缘像素值区域做进一步的定位;
S6.3筛选出既满足S6.2,又满足边缘差分值的像素值中的最小值和最大值为条形码边缘像素值的区域。
S7、基于条形码黑白条宽度向量集,运用全局和局部的欧氏距离算法进行解码;基于条形码的固有特性,也就是条形码是由相连的两个黑条和两个白条的宽度表示一个数字,每个黑条和白条的宽度取值范围为1、2、3、4。因此黑条和白条之间受到干扰,很难得到精确的宽度,因此,我们在解码时采用全局和局部的欧氏距离算法,本算法既需要每个黑条和白条同条形码标准最相似,又要保证相邻黑条和白条的和同条形码标准最相似。
S8、调用条形码检验算法对解码出的条形码字符进行检验,判断是否识别正确,如果正确则识别过程结束,否者调用条形码纠错算法对识别出来的条形码字符进行校正,纠错算法较重新选取条形码区域进行识别,速度快很多;如果无法对识别出的字符进行正,则转为S3。。
本方法首先求取出1行n列矩阵中所有的极值点,是为了适应各种情况下拍摄的条形码图像,因为我们没法确定真正的极值点和噪声点,首先求出所有极值点,一是就是为了自适应选取阈值;二是为了找到第一个和最后一个黑条的中间位置,因为在条形码标准中,第一个黑条的左边和最后一个黑条的右边,会有一定宽度的平滑区域,因此在第一个黑条和最后一个黑条的中间位置的波动会较大,根据S4的方法很容易确定出第一个真正的极值点和最后一个极值点,进一步缩小了条形码的区域范围,而且如果图像干扰严重,通过S4会得到很多的极值点,然后在通过S5的进一步确定所有59个极值点。
上述实施例为本发明较佳的实施方式,但本发明的实施方式并不受所述实施例的限制,其他的任何未背离本发明的精神实质与原理下所作的改变、修饰、替代、组合、简化,均应为等效的置换方式,都包含在本发明的保护范围之内。

Claims (3)

1.一种基于一维条形码图像的识别方法,其特征在于,包括以下步骤:
S1、用户通过移动电子设备对一维条形码进行拍照;
S2、对拍摄的一维条形码图像进行角度的校正;
S3、选取一维条形码图像相邻的2-3行进行垂直投影,得到一维条形码投影曲线;
S4、基于一维条形码投影曲线,得到第一个黑条中间位置和最后一个黑条的中间位置,即始末极值点位置;
具体步骤为:
S4.1定位一维条形码投影曲线中所有的极值点;
S4.2从左向右依次遍历极值点,如果该极值点小于该极值点到其左边第λ个极值点均值的0.85倍,则该极值点为第一个极值点;
从右向左依次遍历极值点,如果该极值点小于该极值点到其左边第λ个极值点平均值的0.85倍,则该极值点为最后一个极值点,所述λ的范围为10-15;
确定始末极值点的位置也就是第一个黑条中间位置和最后一个黑条中间位置
S5、基于始末极值点位置,进一步定位出条形码投影曲线中59个极值点位置;
S6、利用条形码边缘像素区域算法得到条形码边缘像素值区域,继而得到条形码黑白条宽度向量集;
具体包括如下步骤为:
S6.1条形码边缘像素区域为极值点的范围,所述极值点的范围在所述59个极值点中的三个极大值点中的最小值和所述59个极值点中三个极小值点中的最大值之间;
S6.2利用条形码梯度域来对条形码的边缘像素值区域做进一步的定位;
S6.3筛选出既满足S6.2,又满足条形码边缘差分值的像素值中的最小值和最大值为条形码边缘像素值的区域;
S7、基于条形码黑白条宽度向量集,运用全局和局部的欧氏距离算法进行解码;
S8、对解码出的条形码字符进行检验,如果正确则识别结束,否则调用纠错算法进行错误条形码字符校正,如无法校正转为S3。
2.根据权利要求1所述一种基于一维条形码图像的识别方法,其特征在于,所述S2对拍摄的一维条形码图像进行角度的校正,具体步骤为:
S2.1利用Radon变换来实现图像在不同方向的投影;
S2.2对投影数据进行差分处理,差分值绝对值的最大值方向与条形码互相垂直;
S2.3对图像进行旋转操作,实现对图像的校正。
3.根据权利要求2所述一种基于一维条形码图像的识别方法,其特征在于,所述步骤S3中选取条形码区域中相邻的2-3行进行垂直投影是通过对每行所对应元素上的数据求和,然后求取平均值所得。
CN201310221750.7A 2013-06-05 2013-06-05 一种基于一维条形码图像的识别方法 Active CN103336938B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201310221750.7A CN103336938B (zh) 2013-06-05 2013-06-05 一种基于一维条形码图像的识别方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201310221750.7A CN103336938B (zh) 2013-06-05 2013-06-05 一种基于一维条形码图像的识别方法

Publications (2)

Publication Number Publication Date
CN103336938A CN103336938A (zh) 2013-10-02
CN103336938B true CN103336938B (zh) 2016-04-13

Family

ID=49245097

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201310221750.7A Active CN103336938B (zh) 2013-06-05 2013-06-05 一种基于一维条形码图像的识别方法

Country Status (1)

Country Link
CN (1) CN103336938B (zh)

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6607122B2 (ja) * 2016-03-30 2019-11-20 ブラザー工業株式会社 画像解析装置
CN106295455B (zh) * 2016-08-09 2021-08-03 苏州佳世达电通有限公司 条形码指示方法及条码读取器
CN106778411B (zh) * 2016-11-30 2019-06-21 上海集成电路研发中心有限公司 一种条形码定位方法
CN109508571B (zh) * 2017-09-14 2021-08-27 杭州海康威视数字技术股份有限公司 一种条空定位方法、装置、电子设备及存储介质
CN108009455B (zh) * 2017-11-07 2019-04-30 深圳市华汉伟业科技有限公司 一种条形码的扫描信号的解码方法及装置
CN108108646B (zh) * 2017-12-29 2022-04-22 Tcl王牌电器(惠州)有限公司 条码信息识别方法、终端和计算机可读存储介质
CN108256375B (zh) * 2018-01-10 2021-04-06 钱志明 一种一维条形码扫描方法
CN111241862B (zh) * 2020-01-21 2023-06-02 西安邮电大学 基于边缘特性的条形码定位方法
CN116415610B (zh) * 2023-06-12 2023-10-03 恒银金融科技股份有限公司 银行存折条形码的处理方法、装置和电子设备
CN118428382B (zh) * 2024-07-02 2024-09-10 广东朝歌智慧互联科技有限公司 条形码识别方法、终端及系统

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5389770A (en) * 1993-01-22 1995-02-14 Intermec Corporation Method and apparatus for decoding unresolved bar code profiles
CN102799850A (zh) * 2012-06-30 2012-11-28 北京百度网讯科技有限公司 一种条形码识别方法和装置

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5389770A (en) * 1993-01-22 1995-02-14 Intermec Corporation Method and apparatus for decoding unresolved bar code profiles
CN102799850A (zh) * 2012-06-30 2012-11-28 北京百度网讯科技有限公司 一种条形码识别方法和装置

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
A method of container codes detection and segmentation by using improved projection algorithm;Shen-Chuan Tai et al;《Proceedings of the 8th world congress on intelligent control and automation》;20110621;第587-592页 *
Bar code recognition in highly distorted and low resolution images;Ramtin Shams et al;《Acoustics,speech and Signal Processing》;20071231;第737-740页 *
PDF417条码识别方法的研究;刘发耀;《中国优秀硕士学位论文全文数据库(信息科技辑)》;20120229;第I138-2218页 *

Also Published As

Publication number Publication date
CN103336938A (zh) 2013-10-02

Similar Documents

Publication Publication Date Title
CN103336938B (zh) 一种基于一维条形码图像的识别方法
US8733650B1 (en) Decoding barcodes from images with varying degrees of focus
CN102799850B (zh) 一种条形码识别方法和装置
Liu et al. Recognition of QR Code with mobile phones
US9177188B2 (en) Method and system for detecting detection patterns of QR code
Belussi et al. Fast component-based QR code detection in arbitrarily acquired images
CN103714327B (zh) 一种图像方向校正方法及系统
US20130240627A1 (en) Method and Reader for Capturing a Plurality of Two-Dimensional Codes which are Presented in Succession on a Display Apparatus
WO2013044875A1 (zh) 线性条码识别方法和系统
CN105069394A (zh) 二维码加权平均灰度法解码方法及系统
KR101907414B1 (ko) 촬영 이미지 기반의 문자 인식 장치 및 방법
CN102136058A (zh) 条形码图像识别方法
CN106778996A (zh) 嵌入有视觉图像的二维码的生成系统和方法以及读取系统
US10169629B2 (en) Decoding visual codes
JP2015522861A (ja) マトリックス型2次元コードの復号化方法
CN104346597A (zh) 一种qr码检测与校正提取方法及ip核
US20160314560A1 (en) Image displaying method, apparatus, and device, and computer program product
CN104463059A (zh) Qr码识别中一个探测图形破损时的重构方法
WO2018210077A1 (zh) 标识码的生成方法及装置
CN103034830B (zh) 条码解码方法及装置
CN104346596A (zh) 一种qr码的识别方法及识别装置
CN111222613B (zh) 一种处理二维码的方法、装置和计算机存储介质
WO2017113290A1 (zh) 一种一维码定位的方法及装置
CN115731591A (zh) 一种化妆进度检测方法、装置、设备及存储介质
CN109886380B (zh) 图像信息融合方法及系统

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant