halcon二维码识别调用算子步骤:创建模型、设置参数与查找二维码
二维码种类
编辑 二维码识别调用算子步骤
1.创建模型——model( , , ,)
2.设置参数 ——am( , , )
3.去寻找二维码,—— (图像,,, “训练”,“全部”,, ) 。
4.清除模板——odel ()
实例1:找一个二维码,测试其识别的结果是否正确。
效果图1
实例2
效果图
二维码种类
常见类型:QR Code二维码、 Data 二维码。
还有,阿兹特克码二维码、超级码二维条形码、二维条形码、二维条形码、二维条形码、49码二维码、16K码二维码 。
二维码识别调用算子步骤
1.创建模型——model( , , ,)
参数1
(输入控制) 字符串(字符串)→二维数据代码的类型。
默认值:“数据矩阵 ECC 200”
数值列表有,“Aztec Code”,“Data ECC 200”,“GS1 Aztec Code”,“GS1 ”,“GS1 QR Code”,“Micro QR Code”,“”,“QR Code” 。
参数2
对于(输入控制)而言,该可以为 2D 数据代码模型调整的通用参数的识别项是什么名呢,其属性名是(-array),且此属性为字符串性质 。
默认值:
数值列表为,空字符串,空字符串,空字符串,空字符串,空字符串,ance,空字符串,空字符串,空字符串,空字符串,空字符串,空格,单引号括起来的空字符串,单引号括起来的空字符串,单引号括起来的空字符串,单引号括起来的空字符串,单引号括起来的空字符串,单引号括起来的空字符串,单引号括起来的空字符串,单引号括起来的空字符串,单引号括起来的空字符串,单引号括起来的空字符串,单引号括起来的空字符串,单引号括起来的空字符串,ness,空字符串,空字符串,空字符串,空字符串,空格,逗号,单引号括起来的空字符串,逗号,单引号括起来的空字符串,逗号,单引号括起来的空字符串,逗号,单引号括起来的空字符串,逗号,单引号括起来的空字符串,逗号,'超时','版本',单引号括起来的空字符串,单引号括起来的空字符串,句号。
参数3
(输入控制),其属性值(-array),(字符串/整数/实数)这一范围所呈现的,是能够针对 2D 数据代码模型进行调整的通用参数的值 。
默认值:
值的建议有:空字符串,空字符串,空字符串,“yes”,“no”,“any”,空字符串,空字符串,空字符串,空字符串,“small”,“big”, 'fixed',空字符串,“low”,“high”,空字符串,空字符串,0,1,2,3,4,5,6,7,8,10,30,50,70,90,12,14,16,18,20,22,24,26,32,36,40,44,48,52,64,72,80,88,96,104,120,132,144 。
参数4
(通过某种方式来形成)(独特的标识)→会被用来借助和接触二维数据代码模式的那种独特标识。
2.设置参数 ——am( , , )
参数1
(,状态被修改) (句柄)→二维数据代码模型的句柄。
参数2
(输入控制),属性名,(-array),(字符串),→,应为,在代码里面对 2D 数据进行调整时通用参数所具备的那个名称。
默认值:'极性'

值列表为,'abort',空字符串,空字符串,空字符串,空字符串,空字符串,空字符串,空字符串,'ance',空字符串,空字符串,空格,空字符串,空字符串,空字符串,空字符串,空字符串,空字符串,空字符串,空字符串,空字符串,空字符串,'ness'和空字符串,空字符串,空字符串,空字符串,空字符串,空字符串,空字符串,空字符串,空字符串,空字符串,空字符串,空字符串,空字符串,空字符串,空字符串,空字符串,空字符串,空字符串 。
参数3
(输入的控制),其属性值(是 -array),此数据呈现为(字符串或者整数或者实数),进而会成为,被调试过的,针对于 2D 数据代码的通用参数的值的具体状态 。
默认值:''
具有这样一些值:“”,“”,“”,“yes”,“no”,“any”,“”,“”,“”,“”,“small”,“big”,'fixed','','low','high','','','utf8',“语言环境”,“原始”,0,1,2,3,4,5,6,7,8,10,30,50,70,90,12,14,16,18,20,22,24,26,32,36,40,44,48,52,64,72,80,88,96,104,120,132,144,这些值被称为建议值。,。,。,。,。,。,。,。,。,。,。
3.查找二维码—— (Image, , , 'train', 'all', , )
参数1
Image(输入对象) 单通道图像→ 对象(字节)
将图像输入,倘若其一存在缩减域,那么数据代码搜索会被缩减至该域范围,可以发现这往往是能够减少操作员运行时间的,然而,要是数据代码并非完全处于域内,那么就极有可能无法准确把数据代码找到,在极为少数的情形下,甚至会在域之外寻得数据代码,如若这些结果是不符合期望的,那随后就得将其消除掉。
参数2
(输出对象) (-array)→ 对象
XLD轮廓是呈现围绕成功解码的数据代码符号的,轮廓里面点的顺序体现出检测符号的方向,轮廓起始于左上角(参照“方向”),然后按照顺时针方向持续下去。
点的顺序
参数3
(,状态被修改) (句柄)→二维数据代码模型的句柄。
参数4
(输入控制),属性名,其为(-array)(字符串),代表着用于对操作员行为进行控制的(具备选择性的)参数的名称 。
默认值:
值列表:'tion'、'm'、''、'train'
参数5
具有输入控制特性的属性值,通过 -array 展示,在整数、实数或者字符串范围内,可推导出可选泛型参数所能有的值。
默认值:
这个情况是这样。这个情况是这样的。这个情况是这样地。这个情况是这样地呢。这个情况是这样地呀,则呢有“all”,有“”,有“”,有“”,有“space”,有“ness”,有“”,有“”,有“”,有“”,随后呢还有“ance”之类,还有“”,还有“”呀,还有“space”,还有“基本地”,还有“预存地”,还有数字1,还有数字2,还有数字3,还有“启用地”,还有“禁用的” 。
参数6
需要输出控制,整数,这整数是在处理数组,数组里也是整数,最终会得出是所有成功解码的二维数据代码符号的句柄。
参数7
对输出进行控制,有一个字符串,它处于数组之中,而这个数组又在另一个字符串里来呈现,最终会形成图像中所有检测到的二维数据码符号的解码数据串 。
4.清除模板——odel ()
参数
(,状态被修改) (句柄)→二维数据代码模型的句柄。
实例1:找一个二维码,测试其识别的结果是否正确。
实例代码如下:
()
(0, 0, 300, 281, 'black', )
(Image, 'E:/桌面/ccc/.jpg')
model ('QR Code',
, )
*am (, '', '')

由于原内容不太明确其确切意图和要表达的完整意思,不太能按照要求准确改写。请你补充更详细可理解的信息,以便能。
(',', '识别结果:', '+', '', 12, 12, 'black', 'true',)。
odel ()
实例2
(Image, 'E:/桌面/ccc/.jpg')
(Image, Time, , )
一种名为(Image,Time, , )的函数 ,存在该函数这件事情 ,是这样一种状况 ,有这样一个名为(Image,Time, , )函数的事物 。
*计数器
:=0
*读码超时时间
:=1000
*读码类型
:=
*读码结果
:=
*已解码的区域
()
*二维码类型
:=
“Aztec码”,“数据纠错码200”,“GS1-Aztec码”,“GS1”,“GS1 QR码”,“微型QR码”,“”,“QR码” 。
(Image, Width, )
(0, 0, Width, , 'black', )
(Image)
(T1)
for i := 0 to ||-1 by 1
model (
,)
*设置超时时间
am (, '', )
设有防止误识别的设置,鉴于某些二维码模型不存在该属性,会出现报错情况,因而尝试以下操作 。
try
am (, '', 'yes')
catch ()


欢迎 你 发表评论: