Halcon一维码和二维码识别

本文详细介绍了使用Halcon进行一维码和二维码识别的过程,包括创建模型、设置参数、搜索解码以及相关算子参数的使用,提供了一维码和二维码识别的实例与步骤解析。
摘要由CSDN通过智能技术生成

Halcon一维码和二维码识别

一.Halcon一维码识别

1.一维码的识别过程:

(1).创建条码模型create_bar_code_model创建一个通用模型,用于读取所有支持类型的条码。
(2).设置参数set_bar_code_param设置条码搜索参数,当要设置多个参数时候需要用到。
(3).搜索条形码,并解码find_bar_code得出条码字符串。
(4).可以通过get_bar_code_result得到相关结果。
(5).清除条码模型clear_bar_code_model 清除内存,识别句柄将不能使用。

2.算子参数:

(1).create_bar_code_model( : : GenParamName, GenParamValue : BarCodeHandle)

Ⅰ.GenParamName (输入可以为条形码模型调整的通用参数的名称)
默认值: []
列表值: ‘barcode_height_min’, ‘barcode_width_max’, ‘barcode_width_min’, ‘check_char’, ‘composite_code’, ‘element_size_max’, ‘element_size_min’, ‘element_size_variable’, ‘meas_thresh’, ‘meas_thresh_abs’, ‘min_code_length’, ‘min_identical_scanlines’, ‘num_scanlines’, ‘orientation’, ‘orientation_tol’, ‘persistence’, ‘quiet_zone’, ‘start_stop_tolerance’, ‘stop_after_result_num’, ‘timeout’, ‘train’, ‘upce_encodation’
Ⅱ.GenParamValue (输入可以为条形码模型调整的通用参数的值)
默认值: []
建议值: 0, 0.1, 1, 1.5, 2, 8, 32, 45, ‘present’, ‘absent’, ‘none’, ‘CC-A/B’, ‘auto’, ‘high’, ‘low’, ‘true’, ‘false’
Ⅲ.BarCodeHandle (输出用于使用和访问条形码模型的句柄)

2).set_bar_code_param( : : BarCodeHandle, GenParamName, GenParamValue : )

Ⅰ.BarCodeHandle (输入条码模型的句柄)
Ⅱ.GenParamName (输入为查找和解码条形码而应调整的通用参数的名称)
默认值: ‘element_size_min’
列表值: ‘abort’, ‘barcode_height_min’, ‘barcode_width_max’, ‘barcode_width_min’, ‘check_char’, ‘composite_code’, ‘contrast_min’, ‘element_size_max’, ‘element_size_min’, ‘element_size_variable’, ‘majority_voting’, ‘meas_thresh’, ‘meas_thresh_abs’, ‘merge_scanlines’, ‘min_code_length’, ‘min_identical_scanlines’, ‘num_scanlines’, ‘orientation’, ‘orientation_tol’, ‘persistence’, ‘quality_isoiec15416_reflectance_reference’, ‘quiet_zone’, ‘small_elements_robustness’, ‘start_stop_tolerance’, ‘stop_after_result_num’, ‘timeout’, ‘train’, ‘upce_encodation’
Ⅲ.GenParamValue (输入为查找和解码条形码而调整的通用参数的值)
默认值: 8
建议值: 0, 0.1, 1, 1.5, 2, 8, 32, 45, ‘true’, ‘false’, ‘present’, ‘absent’, ‘none’, ‘CC-A/B’, ‘auto’, ‘high’, ‘low’, ‘ucc-12’, ‘zero-suppressed’

(3).find_bar_code(Image : SymbolRegions : BarCodeHandle, CodeType : DecodedDataStrings)

Ⅰ.Image (输入单通道图像) 如果图像具有缩小的域,则条形码搜索将缩小到该域。这通常会减少操作员的运行时间。但是,如果条形码未完全在域内,则无法正确解码条形码。
Ⅱ.SymbolRegions (输出成功解码的条码符号的区域)
Ⅲ.BarCodeHandle (输入条码模型的句柄)
Ⅳ.CodeType (输入搜索条码的类型)在不知条码类型时候可以使用‘auto’可支持识别
列表值: ‘2/5 Industrial’, ‘2/5 Interleaved’, ‘Codabar’, ‘Code 128’, ‘Code 39’, ‘Code 93’, ‘EAN-13 Add-On 2’, ‘EAN-13 Add-On 5’, ‘EAN-13’, ‘EAN-8 Add-On 2’, ‘EAN-8 Add-On 5’, ‘EAN-8’, ‘GS1 DataBar Expanded Stacked’, ‘GS1 DataBar Expanded’, ‘GS1 DataBar Limited’, ‘GS1 DataBar Omnidir’, ‘GS1 DataBar Stacked Omnidir’, ‘GS1 DataBar Stacked’, ‘GS1 DataBar Truncated’, ‘GS1-128’, ‘MSI’, ‘PharmaCode’, ‘UPC-A Add-On 2’, ‘UPC-A Add-On 5’, ‘UPC-A’, ‘UPC-E Add-On 2’, ‘UPC-E Add-On 5’, ‘UPC-E’, ‘auto’
Ⅴ.DecodedDataStrings (输出所有成功解码的条码的数据串)

4).Cget_bar_code_result( : : BarCodeHandle, CandidateHandle, ResultName : BarCodeResults)

Ⅰ.BarCodeHandle (输入条码模型的句柄)
Ⅱ.CandidateHandle 输入分别指示需要数据的条码结果候选)一般为all
Ⅲ.ResultName (输入要返回的结果数据的名称)
Ⅳ.BarCodeResults (输出最终结果)

(5).clear_bar_code_model( : : BarCodeHandle : )

Ⅰ.BarCodeHandle (输入条码模型的句柄)

实例:

read_image (Image, 'barcode/ean13/ean1305')
get_image_size (Image, Width, Height)
dev_close_window ()
dev_open_window (0, 0, Width, Height, 'black', WindowHandle)
dev_display (Image)
dev_set_color ('green')
dev_set_draw ('margin')
dev_set_line_width (3)
set_display_font (WindowHandle
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值