Halcon 条码读取

一维码读取

create_bar_code_model 创建条码读取器的模板
set_bar_code_param 配置解码方式
find_bar_code 读取条码
clear_bar_code_model 清除条码匹配模板

* 1.创建条码读取器的模板
* 参数一:通用参数的名称,针对条形码模型进行调整。默认值为空
* 参数二:针对条形码模型进行调整
* 参数三:条形码模型的句柄。
create_bar_code_model ([], [], BarCodeHandle)
dev_close_window ()
dev_open_window (0, 0, 512, 512, 'black', WindowHandle)
set_display_font (WindowHandle, 16, 'mono', 'true', 'false')
dev_set_color ('green')
dev_set_draw ('margin')

* 2.配置解码方式
* 参数一:条形码模型的句柄。
* 参数二:通用参数的名称,针对查找和解码条形码进行了调整
* 参数三:通用参数的值
set_bar_code_param (BarCodeHandle, 'stop_after_result_num', 1)
read_image (Image, 'D:/Halcon/条码读取/ean1302.png')
* 用于将显示窗口的大小调整到适合图像大小的尺寸。
dev_resize_window_fit_image (Image, 0, 0, -1, -1)

* 3.在图像中读取条码数据和数据区域
* 参数一:要查找的图片
* 参数二:条码数据区域
* 参数三:条码模板句柄
* 参数四:条码类型
* 参数五:读取结果
find_bar_code (Image, SymbolRegions, BarCodeHandle, 'EAN-13', DecodedDataStrings)
dev_display (Image)
dev_display (SymbolRegions)
disp_message (WindowHandle, DecodedDataStrings, 'image', 12, 12, 'black', 'true')

* 4.使用完毕,删除条码匹配模板
clear_bar_code_model (BarCodeHandle)

结果展示
在这里插入图片描述

2、二维码读取

create_data_code_2d_model 创建二维码模型
find_data_code_2d 读取二维码

dev_clear_window ()
read_image (Image, 'D:/Halcon/hellohalcon.png')
* 转为灰度图
rgb1_to_gray (Image, GrayImage)
dev_open_window_fit_image (GrayImage, 0, 0, -1, -1, WindowHandle)
set_display_font (WindowHandle, 16, 'mono', 'true', 'false')
dev_set_color ('red')
dev_display (GrayImage)

* 创建二维码模型
* 参数一:二维码类型
* 参数二:通用参数的名称 针对二维数据代码模型进行了调整。
* 参数三:针对二维数据代码模型进行了调整。
* 参数四:数据代码模型的句柄。
create_data_code_2d_model ('QR Code', [], [], DataCodeHandle)

* 查找图形中二维码,并获取信息
* 参数一:图片
* 参数二:围绕成功解码数据的 XLD 轮廓 代码符号。
* 参数三:二维码模型的句柄。
* 参数四:参数的名称 控制操作员的行为。
* 参数五:可选泛型参数的值。
* 参数六:所有成功解码的二维数据代码的句柄 符号。
* 参数七:所有检测到的二维数据代码的解码数据字符串 图像中的符号。
find_data_code_2d (GrayImage, SymbolXLDs, DataCodeHandle, [], [], ResultHandles, DecodedDataStrings)
dev_display (GrayImage)
dev_display (SymbolXLDs)
disp_message (WindowHandle, '读取出来的二维码信息是:'+DecodedDataStrings, 'window', 12, 12, 'red', 'false')
clear_data_code_2d_model (DataCodeHandle)

结果展示
在这里插入图片描述

一维码文件夹读取案例

list_files ('D:/Halcon/条码读取/ean13', 'files', Files)
* 创建条码读取器的模板
create_bar_code_model ([], [], BarCodeHandle)
dev_close_window ()
dev_open_window (0, 0, 512, 512, 'black', WindowHandle)
set_display_font (WindowHandle, 16, 'mono', 'true', 'false')
dev_set_color ('green')
dev_set_draw ('margin')
* 配置解码方式
set_bar_code_param (BarCodeHandle, 'element_size_min', 1)

for Index:=0 to |Files|-1 by 1
    read_image (Image, Files[Index])
    * 读取条码数据
    find_bar_code (Image, SymbolRegions, BarCodeHandle, 'auto', DecodedDataStrings)
    disp_message (WindowHandle, DecodedDataStrings, 'window', 12, 12, 'black', 'true')
    stop ()
    if(Index = 41)
        Index := 0
    endif
endfor

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值