HALCON算子

Bar Code 条形码
1、clear_all_bar_code_models 清除所有条形码模型释放内存
clear_all_bar_code_models( : : : )
2、clear_bar_code_model 清除条形码模型释放内存
clear_bar_code_model( : : BarCodeHandle : )
3、create_bar_code_model 创建条形码阅读器模型
create_bar_code_model( : : GenParamNames, GenParamValues : BarCodeHandle)
GenParamNames: 通用型参数的名字
GenParamValues: 通用型参数的值
BarCodeHandle: 条形码句柄
4、decode_bar_code_rectangle2 在一个矩形内解读条码(矩形不宜太大)
decode_bar_code_rectangle2(Image : : BarCodeHandle, CodeType, Row, Column, Phi, Length1, Length2 : DecodedDataStrings)
5、deserialize_bar_code_model 反序列化条形码
deserialize_bar_code_model( : : SerializedItemHandle : BarCodeHandle)
6、find_bar_code 检测条形码
find_bar_code(Image : SymbolRegions : BarCodeHandle, CodeType : DecodedDataStrings)
SymbolRegions: 检测到的条形码区域(输出)
BarCodeHandle: 条形码句柄
CodeType: 条形码类型
附加 【条码种类很多,常见的大概有二十多种码制,其中包括:Code39 码(标准39码)、Codabar码(库德巴码)、Code25码(标准25码)、ITF25码(交叉25码)、Matrix25码(矩阵25码)、 UPC-A码、UPC-E码、EAN-13码(EAN-13国际商品条码)、EAN-8码(EAN-8国际商品条码)、中国邮政码(矩阵25码的一种变 体)、Code-B码、MSI码、Code11码、Code93码、ISBN码、ISSN码、Code128码(Code128码,包括EAN128 码)、Code39EMS(EMS专用的39码)等一维条码和PDF417等二维条码。】
DecodedDataStrings: 检测到的条形码数据字符串(输出)
7、get_bar_code_object 访问解码的中间结果(Access iconic objects that were created during the search or
decoding of bar code symbols.)
get_bar_code_object( : BarCodeObjects : BarCodeHandle, CandidateHandle, ObjectName : )
BarCodeObjects 检测评估条码的中间结果
BarCodeHandle 条形码句柄
CandidateHandle 候选区域数据句柄
ObjectName 标志性对象的名称(默认:‘candidate_regions’)
附加: symbol_regions 成功解码区域
candidate_regions 候选区域
scanlines_all 扫描线
scanlines_valid 有效扫描线
scanlines_all_plain
scanlines_valid_plain
8、get_bar_code_param 获取条形码模型参数
get_bar_code_param( : : BarCodeHandle, GenParamNames : GenParamValues)
9、get_bar_code_param_specific 获取针对特定类型的条码进行参数
get_bar_code_param_specific( : : BarCodeHandle, CodeTypes, GenParamNames : GenParamValues)
10、get_bar_code_result
Get the alphanumerical results that were
accumulated during the decoding of bar code symbols.
get_bar_code_result( : : BarCodeHandle, CandidateHandle, ResultName : BarCodeResults)
BarCodeHandle 条形码句柄
CandidateHandle 候选区域数据句柄
ResultName 返回结果的名称
附加: decoded_reference 关于条码的完整参考数据,包括数据字符、开始停止字符、校验字符
status_id:读取扫描线状态ID
BarCodeResults 返回结果列表
11、query_bar_code_params 获取set_bar_code及get_bar_code可设参数的名称
query_bar_code_params( : : BarCodeHandle, Properties : GenParamNames)
Properties :‘general’,
‘specific’, ‘trained_general’, ‘trained_specific’, ‘all’
12、read_bar_code_model 读取条形码模型
read_bar_code_model( : : FileName : BarCodeHandle)
13、serialize_bar_code_model 序列化条形码模型
serialize_bar_code_model( : : BarCodeHandle : SerializedItemHandle)
14、set_bar_code_param 设置条形码模型参数
set_bar_code_param( : : BarCodeHandle, GenParamNames, GenParamValues : )
BarCodeHandle 条形码句柄
GenParamNames 通用型参数的名字
附加: check_char 是否验证校验位(present是absent否)
composite_code 附加一个二维条码构成"组合码"
element_height_min 最小条码的高度
element_size_max 条码最大尺寸(宽度和间距)
element_size_min 条码最小尺寸(宽度和间距)
max_diff_orient 相邻边缘方向的最大角度容差
meas_thresh 用来识别条码边沿,一般取值[0.05,0.2]
meas_thresh_abs
min_identical_scanlines 认定成功解码所需的最少扫描线数,默认为1
num_scanlines 条码扫描的最大数目
orientation 条码方向(度)
orientation_tol 条码方向容差(度)
persistence 保存解码的中间结果
start_stop_tolerance 当检测扫描线的起点和终点图案时,用该语句设置"容许误差"
stop_after_result_num 设置要解码的条码条数
upce_encodation 用以不同的输出格式(UPC-E码)
timeout 检测超时
train 训练
quiet_zone
slanted 对倾斜条码额外处理
GenParamValues 通用型参数的值
15、set_bar_code_param_specific 针对特定类型的条码进行参数设置
set_bar_code_param_specific( : : BarCodeHandle, CodeTypes, GenParamNames, GenParamValues : )
16、write_bar_code_model 保存条形码模型
write_bar_code_model( : : BarCodeHandle, FileName : )

条形码程序框架

1、 模型初始化
create_bar_code_model
set_bar_code_param
set_bar_code_param_specific
2、 条码识别
find_bar_code
3、 结果处理
get_bar_code_object
get_bar_code_param
get_bar_code_result
4、 清除模型
clear_bar_code_model

### Halcon算子的使用方法及其在机器视觉中的应用 Halcon 是一种功能强大且广泛应用于工业自动化和机器视觉领域的软件工具,其核心在于丰富的图像处理算子集合。这些算子涵盖了从基础图像操作到复杂模式识别的各种需求[^1]。 #### 1. **Halcon算子的基础概念** Halcon算子是一组预定义的功能模块,用于执行特定的任务。每个算子都有明确的功能描述、输入参数以及返回值说明。通过组合多个算子,可以实现复杂的图像处理流程。例如,`tile_images_offset()` 可以用来拼接多张图片形成一幅大图;而 `crop_part()` 则允许裁剪指定区域内的对象[^3]。 #### 2. **常用算子解析** 以下是几个常见的 Halcon 算子及其具体用途: - **`gen_region_histo`**: 这是一个典型的例子,它基于给定区域内像素的灰度分布来生成新的区域。此过程涉及计算直方图 (Histogram),并通过设定阈值提取感兴趣的部分[^5]。 - **`shape_trans` 和 `skeleton`**: 形状转换 (`shape_trans`) 改变几何图形的形式(比如圆形转椭圆),骨骼化算法(`skeleton`)则简化形状至最本质线条结构以便后续特征提取[^3]。 - **文件与数据流管理**: ```python open_file('example.txt', 'r') # 打开文本文件读取模式 dump_window_image(WindowHandle, FileName) # 将窗口内容保存成图像文件 ``` #### 3. **实际案例分享** 假设我们需要检测生产线上的产品缺陷,则可能要用到如下步骤: 1. 加载待测物品的照片; 2. 应用边缘探测器找到轮廓边界; 3. 对所得轮廓进一步细化得到精确位置坐标; 4. 如果发现异常情况立即报警提示工作人员注意。 整个过程中会频繁调用诸如 `boundary`, `reduce_domain` 或者自定义创建辅助函数如拟合曲线等高级特性[^4]。 #### 4. **学习资源推荐** 为了更好地掌握这些技能,《Halcon 中文算子手册》成为不可或缺的学习资料之一。这本书籍除了提供详细的语法指导外,还包括大量实战演练题目供读者练习巩固知识点[^2]。 ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值