halcon学习拓展系列—交集intersection的拓展算子intersection_expand【2024更新】

本文介绍Halcon中的交集拓展算子intersection_expand,应用于缺陷检测,详细阐述算子原理和实现,并提供测试代码及脚本库函数,帮助读者理解和运用。

在专题《halcon学习拓展系列—判定二维点集在Region的位置信息算子test_region_points_fast》中详细讲解过test_region_points_fast算子,在重构intersection函数中会用到该算子,本专题就来实现intersection_expand算子

一、算子说明

** 函数名称:intersection_expand
** 功能:判断Regions是否与RegionBases有交集,并输出存在交集的完整Region
** 具体描述:只要Region中存在point在RegionBase中,则满足条件,添加到RegionIntersection
** 输入
** Regions                     输入Regions
** RegionBases                 基准区域
**** 输出
** RegionIntersection          输出交集RegionIntersection
** written by guke
**--------------------------------------------------------------------------------------

二、算法实现

<
### Halcon `do_ocr_multi_class_mlp` 算子的使用方法及 OCR 多类别识别 `do_ocr_multi_class_mlp` 是 Halcon 中用于进行多类别字符识别的算子,通常用于识别多个字符的场景。该算子基于训练好的 OCR 分类器(例如通过 `create_ocr_class_mlp` 或 `read_ocr_class_mlp` 获取的分类器)对图像中的字符区域进行分类。 #### 基本语法 ```hdevelop do_ocr_multi_class_mlp(Regions, Image, OCRHandle, Class, Confidence) ``` #### 参数说明 - **Regions**:输入的字符区域,通常是通过图像分割和字符提取得到的多个字符区域。 - **Image**:输入的图像,用于提取字符区域的灰度值。 - **OCRHandle**:OCR 分类器的句柄,通过 `read_ocr_class_mlp` 或 `create_ocr_class_mlp` 获取。 - **Class**:输出参数,表示每个字符区域的分类结果。 - **Confidence**:输出参数,表示分类结果的置信度。 #### 使用步骤 1. **准备字符区域**:通过图像处理技术(如阈值分割、连通域分析、字符排序等)获取字符区域。 2. **加载 OCR 分类器**:使用 `read_ocr_class_mlp` 读取训练好的 OCR 分类器。 3. **调用 `do_ocr_multi_class_mlp` 进行多类别识别**:输入字符区域、图像和 OCR 分类器,获取分类结果。 4. **显示或处理结果**:根据分类结果进行后续处理或显示。 #### 示例代码 以下是一个完整的示例,展示如何使用 `do_ocr_multi_class_mlp` 进行 OCR 多类别识别: ```hdevelop * 读取图像 read_image (Image, 'D:/VScode/HALCON/image/图片6/airplane.png') * 图像处理:阈值分割、连通域分析、字符提取 threshold (Image, Region, 0, 50) connection (Region, ConnectedRegions) select_shape (ConnectedRegions, SelectedRegions, 'height', 'and', 41, 49) sort_region (SelectedRegions, SortedRegions, 'character', 'true', 'row') * 读取 OCR 分类器 read_ocr_class_mlp ('Industrial_0-9A-Z_Rej.omc', OCRHandle) * 使用 do_ocr_multi_class_mlp 进行多类别识别 do_ocr_multi_class_mlp (SortedRegions, Image, OCRHandle, Class, Confidence) * 显示结果 dev_display (Image) dev_display (SortedRegions) area_center (SortedRegions, Area, Row, Column) dev_get_window (WindowHandle) disp_message (WindowHandle, Class, 'image', Row, Column, 'black', 'true') ``` #### 注意事项 - **字符区域的质量**:字符区域的分割质量直接影响 OCR 识别的效果。确保字符区域清晰且无干扰。 - **分类器的选择**:根据实际需求选择合适的 OCR 分类器,例如数字、字母或汉字分类器。 - **训练分类器**:如果需要自定义字符集,可以通过 `create_ocr_class_mlp` 和 `add_samples_ocr_class_mlp` 训练新的分类器,并使用 `write_ocr_class_mlp` 保存分类器[^1]。 #### 优化建议 - **单字符识别**:如果对单个字符的识别效果要求较高,可以考虑使用 `do_ocr_single_class_mlp` 对单个字符进行识别,通常比多字符识别更准确。 - **置信度筛选**:根据 `Confidence` 参数筛选识别结果,过滤低置信度的分类结果,提高识别准确性。 ###
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

谷棵

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值