CN111079463B - 一种用于软件测试的生成污损二维码的方法 - Google Patents
一种用于软件测试的生成污损二维码的方法 Download PDFInfo
- Publication number
- CN111079463B CN111079463B CN201911003836.6A CN201911003836A CN111079463B CN 111079463 B CN111079463 B CN 111079463B CN 201911003836 A CN201911003836 A CN 201911003836A CN 111079463 B CN111079463 B CN 111079463B
- Authority
- CN
- China
- Prior art keywords
- dimensional code
- generating
- stained
- code
- matrix
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06K—GRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
- G06K7/00—Methods or arrangements for sensing record carriers, e.g. for reading patterns
- G06K7/10—Methods or arrangements for sensing record carriers, e.g. for reading patterns by electromagnetic radiation, e.g. optical sensing; by corpuscular radiation
- G06K7/14—Methods or arrangements for sensing record carriers, e.g. for reading patterns by electromagnetic radiation, e.g. optical sensing; by corpuscular radiation using light without selection of wavelength, e.g. sensing reflected white light
- G06K7/1404—Methods for optical code recognition
- G06K7/1408—Methods for optical code recognition the method being specifically adapted for the type of code
- G06K7/1417—2D bar codes
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06K—GRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
- G06K19/00—Record carriers for use with machines and with at least a part designed to carry digital markings
- G06K19/06—Record carriers for use with machines and with at least a part designed to carry digital markings characterised by the kind of the digital marking, e.g. shape, nature, code
- G06K19/06009—Record carriers for use with machines and with at least a part designed to carry digital markings characterised by the kind of the digital marking, e.g. shape, nature, code with optically detectable marking
- G06K19/06037—Record carriers for use with machines and with at least a part designed to carry digital markings characterised by the kind of the digital marking, e.g. shape, nature, code with optically detectable marking multi-dimensional coding
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T11/00—2D [Two Dimensional] image generation
- G06T11/001—Texturing; Colouring; Generation of texture or colour
Landscapes
- Physics & Mathematics (AREA)
- Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Health & Medical Sciences (AREA)
- Electromagnetism (AREA)
- General Health & Medical Sciences (AREA)
- Toxicology (AREA)
- Artificial Intelligence (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Testing Resistance To Weather, Investigating Materials By Mechanical Methods (AREA)
- Sampling And Sample Adjustment (AREA)
Abstract
本发明涉及一种用于软件测试的生成污损二维码的方法,首先基于Google的zxing开源库生成正常二维码矩阵,再根据二维码的布局结构,对包含了不同信息部分的区域进行填充、颜色渐变、腐蚀、膨胀等处理,使二维码部分有效信息被遮盖或产生畸变,从而实现二维码的污损,实现了多种污损类型二维码的生成;生成的污损二维码可用于对软件扫码识别性能的测试。
Description
技术领域
本发明涉及二维码技术领域,具体涉及一种用于软件测试的生成污损二维码的方法。
背景技术
二维码本身是一种容错性比较强的码,在受到污损时可以通过冗余信息还原完整内容,从而可以正确识别。在对扫码产品进行测试时,需要了解其对污损区域不同,污损程度不同的二维码的识别能力。
现有的一些二维码污损测试主要通过以下两种方式获得污损二维码:
1.自然受损:
二维码图片在使用中受损,将污损照片收集整理用于测试。
这种方法获取的污损码的污损程度具有很大的不确定性,需要采集不同受损情况的二维码,可能会有大量污损类似的情况出现。
2.数字图像处理:
识别二维码不同部位,选取要污染的区域做数字图像处理。
这种方法实际上是先识别二维码获得矩阵信息,根据二维码结构选择要污损的部位进行处理,处理后重新生成污损图片提供给测试使用,可以实现对污损部位和污损程度的控制。但是,先识别图片再实现污损,流程繁琐。
发明内容
本发明的目的在于克服现有技术中的不足之处而提供一种生成可以控制污损方式和污损程度的二维码的方法来实现软件测试中对扫码识别性能的测试。
为实现以上目的,本发明通过以下技术方案予以实现:
一种用于软件测试的生成污损二维码的方法,按以下步骤执行,
步骤S01:根据需要测试的二维码污损情况,创建污损情况对应参数及其数值表;
步骤S02:编写代码,使用zxing开源库生成正常二维码矩阵;
步骤S03:根据二维码国家标准,定位需要污损部位在图片矩阵中的坐标,对污损部位进行污化处理。
进一步的,步骤S03中定位污损部位有以下情况:
1)版本信息污损;2)边界污损;3)定位符污损;4)校正图形污损;5)寻像图形污损。
进一步的,步骤S03中定位的污损部位可进行叠加生成污损码。
与现有技术相比,本发明的有益效果是:
1.本发明由于依据二维码结构进行污损处理,可以根据测试需求控制污损部位和污损程度。
2.且本发明由于对污损二维码的污损情况进行分类,可以用于单一污损情况的识别测试和叠加污损情况的识别测试。
3.本发明在生成图片前先对矩阵做处理,避免生成图片再转化成矩阵的繁琐过程。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为二维码的结构示意图;
图2为版本信息污损的二维码;
图3为边界污损的二维码。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
下面结合附图,对本发明的技术方案进行说明:
本发明一种于软件测试的生成污损二维码的方法,按以下步骤执行:
步骤S01:根据需要测试的二维码污损情况,创建污损情况对应参数及其数值表;
步骤S02:编写代码,使用zxing开源库生成正常二维码矩阵;
步骤S03:根据二维码国家标准,定位需要污损部位在图片矩阵中的坐标,对污损部位进行污化处理;使二维码部分有效信息被遮盖或产生畸变。
进一步的,污化处理包括填充、灰度化、颜色渐变、腐蚀、膨胀等操作。
步骤S03中定位污损部位有以下情况:
1)版本信息污损:版本信息为18位,在符号中出现两次提供冗余,6行x3列模块组成的版本信息放在定位图像上面,右侧紧邻右上角位置探测图形的分隔符,3行x6列模块组成的版本信息放在定位图像的左侧,下边紧邻左下角位置探测图形的分隔符。将两个矩形模块全部填充为黑色。
2)边界污损:标准中规定标准QR码(Ver1-40)四周应有宽4个单位、微型QR码四周应有宽2个单位的区域颜色等效于QR码中白色点,其中不能有图样或标记,以保证QR码清晰可识别。在空白区四周边缘添加宽度为1个单位,颜色等效于QR码中黑色点的区域,形成黑色边界。
3)定位符污损:定位符为一单位宽的黑白交替点带,在符号中出现两次,由黑色起始和结束,用于指示标识密度和确定坐标系,位于第6行的定位符在左上和右上两个位置探测图形之间,位于第6列的定位符在左上和左下两个位置之间。将两条点带全部填充为黑色。
4)校正图形污损:只有 Version 2 及以上的QR码有校正图形。校正图形用于进一步校正坐标系。校正图形的数量取决于版本,定位校正图形的部位填充为黑色。
5)寻像图形污损:寻像图形包括三个相同的位置探测图形,位于QR码的左上,右上和左下角。每个位置探测图形有三个重叠的同心正方形组成,位置探测图形和编码区域之间有宽度为1个模块的分隔符。设置右上,左上或左下大于8x8的区域的颜色等效于QR码中的黑色点,形成寻像图形污损。
为更好的讲述本发明,以下为本发明的具体实施例。
实施例1:
如图2所示,为本发明的第一个实施例,此时生成版本信息污损的二维码,使用zxing开源库创建二维码矩阵,对矩阵定位图像上面的6行x3列模块组成的版本信息和定位图像的左侧的3行x6列模块组成的版本信息,通过zxing的setRegion()方法设置成颜色等效于QR码中黑色点,将矩阵写入Bitmap图片获得污损二维码。
实施例2:
如图3所示,为本发明的第二个实施例,此时生成边界污损的二维码,使用zxing开源库创建二维码矩阵,对矩阵空白区四周增加宽度为一个单位的边框,通过zxing的setRegion()方法设置成颜色等效于QR码中黑色点,将矩阵写入Bitmap图片获得污损二维码。
需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。
Claims (3)
1.一种用于软件测试的生成污损二维码的方法,其特征在于,按以下步骤执行:
步骤S01:根据需要测试的二维码污损情况,创建污损情况对应参数及其数值表;
步骤S02:编写代码,使用zxing开源库生成正常二维码矩阵;
步骤S03:在生成图片前先对矩阵做处理,根据二维码国家标准,定位需要污损部位在图片矩阵中的坐标,对污损部位进行污化处理,通过zxing的setRegion()方法将污损部位设置成颜色等效于二维码中黑色点,将矩阵写入Bitmap图片获得污损二维码。
2.根据权利要求1所述的一种用于软件测试的生成污损二维码的方法,其特征在于,步骤S03中定位污损部位有以下情况:
1)版本信息污损;2)边界污损;3)定位符污损;4)校正图形污损;5)寻像图形污损。
3.根据权利要求2所述的一种用于软件测试的生成污损二维码的方法,其特征在于,步骤S03中定位的污损部位可进行叠加生成污损码。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911003836.6A CN111079463B (zh) | 2019-10-22 | 2019-10-22 | 一种用于软件测试的生成污损二维码的方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911003836.6A CN111079463B (zh) | 2019-10-22 | 2019-10-22 | 一种用于软件测试的生成污损二维码的方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111079463A CN111079463A (zh) | 2020-04-28 |
CN111079463B true CN111079463B (zh) | 2022-08-16 |
Family
ID=70310492
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911003836.6A Active CN111079463B (zh) | 2019-10-22 | 2019-10-22 | 一种用于软件测试的生成污损二维码的方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111079463B (zh) |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106127276A (zh) * | 2016-06-27 | 2016-11-16 | 福建联迪商用设备有限公司 | 一种量化污损QRCode的方法及系统 |
CN110162722A (zh) * | 2019-04-12 | 2019-08-23 | 深圳壹账通智能科技有限公司 | 基于二维码的产品推荐方法、服务器及存储介质 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2001167222A (ja) * | 1999-09-29 | 2001-06-22 | Denso Corp | 誤り訂正方法、2次元コード読取方法、2次元コード読取装置及び記録媒体 |
EP4137988A1 (en) * | 2014-11-18 | 2023-02-22 | Cognex Corporation | System and methods for decoding two-dimensional matrix symbols |
CN107563477A (zh) * | 2017-07-26 | 2018-01-09 | 中国农业大学 | 二维码及其生成方法和装置 |
-
2019
- 2019-10-22 CN CN201911003836.6A patent/CN111079463B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106127276A (zh) * | 2016-06-27 | 2016-11-16 | 福建联迪商用设备有限公司 | 一种量化污损QRCode的方法及系统 |
CN110162722A (zh) * | 2019-04-12 | 2019-08-23 | 深圳壹账通智能科技有限公司 | 基于二维码的产品推荐方法、服务器及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN111079463A (zh) | 2020-04-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11450081B2 (en) | Examination paper correction method and apparatus, electronic device, and storage medium | |
EP3309704B1 (en) | Two-dimensional code partitioning and decoding method and system | |
EP2849115B1 (en) | Method for decoding matrix-type two-dimensional code | |
JP3515199B2 (ja) | 欠陥検査装置 | |
EP3399468B1 (en) | Method for quantitative defacing of a qr code | |
CN105989317B (zh) | 一种二维码的识别方法及装置 | |
AU2004326049B2 (en) | Information input/output method using dot pattern | |
KR920022125A (ko) | 문자 데이타 입력 시스템 | |
CN104346640A (zh) | 二维码及生成二维码的方法 | |
CN105160343A (zh) | 应用于胶片按需打印系统的信息识别方法和装置 | |
CN107067399A (zh) | 一种试卷图像分割处理方法 | |
CN111079463B (zh) | 一种用于软件测试的生成污损二维码的方法 | |
CN111797827A (zh) | 一种文字方向混排的自动化ocr识别方法 | |
CN107066939A (zh) | 一种网上阅卷系统的试卷切割处理方法 | |
CN112348019B (zh) | 一种答题卡矫正方法、装置、电子设备及存储介质 | |
JPH0792820B2 (ja) | 文字認識方法 | |
EP2529331B1 (en) | Parallel test payload | |
CN110956087A (zh) | 一种图片中表格的识别方法、装置、可读介质和电子设备 | |
CN107330470B (zh) | 识别图片的方法和装置 | |
CN115482547A (zh) | 一种实现试题批改痕迹识别方法、存储介质及设备 | |
CN107045635A (zh) | 一种网上阅卷系统的试卷图像分页分题处理方法 | |
CN109934036B (zh) | 一种通过单一位置探测图形识读qr码的方法和系统 | |
CN112434543A (zh) | 一种针对畸变彩色直接部件标记的图像重构方法及系统 | |
JPS60126777A (ja) | 文字切り出し方式 | |
CN117274267B (zh) | 掩膜版图的自动检测方法、装置、处理器以及电子设备 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |