首页 > 编程知识 正文

二维码图像识别原理,二维码变形扫不出来

时间:2023-05-03 11:32:57 阅读:164960 作者:4333

1、条形码原理:一维条形码由黑白两色组成,具有宽高两种尺寸,其中横向代表数据信息。 条形码上一般显示文字、数字、符号等。 例如,下面的代码128-a、代码128-b和代码128-c。

条形码通常由前缀、中止符号、数据符号、中间分隔符、检查等组成。 条形码利用条纹和间隔或宽窄条纹构成二进制的“0”、“1”,反映实际信息。

运算符:

create_bar_code_model :创建条形码模型。

find_bar_code :条形码识别。

2、二维码原理:二维码为二维码,代表黑白矩形二进制数据。 一维条形码的宽度表示某个数据,长度上没有记载数据。 二维码的长度、宽度上登载着数据。 另外,二维码具有矩形定位和容错结构,即使二维码部分污染,也能够尽可能地恢复信息。 同样,二维码也有不同的标准,有多种格式。 但是,halcon只支持两种字符集: UTF-8和LOCATE。 UTF-8是编码规则。

运算符:

create _ data _ code _ 2d _ model :创建二维码模型。

find _ data _ code _ 2d :二维码标识符。

程序说明: (1)、条形码

读取图像

*读取条形码read_image(image,'1.png ' ) RGB1_ to _ gray (image,GrayImage )

条形码模型的制作

*制作条形码模型。 默认create_bar_code_model([],[],BarCodeHandle )条形码识别

*参数4 :要识别的条形码类别。 如果不知道已识别的条形码类型,则为' auto'find_bar_code(grayimage,SymbolRegions,BarCodeHandle,' auto ',decodeddatastastrings )

退出并清除条形码模型(如果重新识别,则必须重新创建模型) )。

*之前制作的条形码模型clear _ bar _ code _ model (barcode handle ) )2),清除二维码

读取图像

*读取二维码图read_image(image1,' myTest.png ' ) RGB1_ to _ gray (image1,GrayImage1)

建立二维码模型

*创建二维码模型create _ data _ code _ 2d _ model (' QR code ),[],DataCodeHandle )二维码识别

*二维码识别*参数4、参数5、默认无法识别时,设定为“train”、“all”,增加训练(程序时间变长) find_data_code_2d ) train '、' all ' datacode ecodeddatastrings1) find_data_code_2d(grayimage1,SymbolXLDs,DataCodeHandle,' train ',' all ',resall ',resestid,ge

识别结束,清除之前创建的二维码模型

*清除之前创建的二维码模型clear _ data _ code _ 2d _ model (datacodehandle )时,如果使用的是GB2312生成的二维码,halcon将无法识别。

*注意:测试的图像均为无噪声图像,识别准确。 有干扰时,需要修剪条形码、二维码。

工程代码链接:

3359 download.csdn.net/download/panjin Liang 066333/12238906

http://www.Sina.com/http://www.Sina.com /

3359 download.csdn.net/download/panjin Liang 066333/12241341

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。