• 打开HDevelop -> 浏览HDevelop实例程序 -> 查找:clip -> 旋转clip.hdev -> 打开
  • clip即回形针,原图片clip.png可在C:\Users\Public\Documents\MVTec\HALCON-12.0\examples\images中找到,如图所示:

  • 运行程序,可得到结果,如图所示:
  • 对源代码重要部分添加注释,如图所示:

1. binary_threshold(Image: Region : Method, LightDark : UsedThreshold)

Image

输入图像

Region

分割后的输出区域

Method

分割方法,默认为'max_separability',还包括'smooth_histo'

LightDark

选取前景或背景?默认'dark',还包括'light'

UsedThreshold

使用的阈值大小

  • 使用二进制阈值自动分割图像。
  • binary_threshold分割单通道图像,使用自动定义的全局阈值,返回分割区域Region。UsedThreshold返回使用的阈值。
  • 使用的阈值,由Method定义。目前有两种方法:'max_separability' 和'smooth_histo'。两种方法都要求图像具有双峰直方图。
  • 'smooth_histo'提供与bin_threshold一样的功能;‘max_separability’希望能为UsedThreshold确定一个更小的值。另外,'max_separability'对于直方图中小的、孤立的峰值不敏感,且比'smooth_histo'的速度更快。
  • Maximize separaility:基于灰度级直方图的自动阈值化。该算法,首先计算直方图,然后使用统计矩找到最佳阈值T*,使用T*将像素分为前景和背景,并将两类的可分性最大化。本方法只适用于byte和uint2类型的图像。
  • Histrogram smoothing:首先确定灰度值的直方图,然后提取直方图中相关的最小值,用来阈值优化的参数。为了减少最小值的数量,直方图使用高斯平滑,就像auto_threshold,mask size增大,直至平滑后的直方图中只含有一个最小值,然后T*设置为最小值的位置。
  • 如果LightDark = 'light',所有像素的灰度值大于或等于T*的被选择。
  • 如果LightDark = 'dark',所有像素的灰度值小于T*的被选择。

2. connection(Region: ConnectedRegions)

Region

输入region

ConnectedRegions

连通域

  • 计算region的连通域(connected components)。
  • connection确定由Region给定的输入regions的连通域。邻域通过set_system('neighborhood', <4/8>)设置。默认为8邻域,用来确定前景的连通域。连通域的最大数量,通过set_system('max_connection', <Num>)设置,由connection返回。默认值0,表示所有连通域全部返回。

3. Orientation_region(Regions: : : Phi)

Regions

需要计算的regions

Phi

region的方向(弧度制),注意:-pi <= Phi < pi

  • 本算子用于计算region的方向。本算子基于elliptic_axis。另外计算轮廓中距离重心最远的点。在旋转坐标系中,最远点的列坐标(column coordinate)小于重心的列坐标,pi的值加入到了角度中。

  • 如果有多个regions,则结果保存在tuple中,tuple中值的编号与输入region的编号相同。

机器视觉Halcon——3. Halcon实例clip回形针方向识别相关推荐

  1. QT+Halcon综合示例:clip回形针2D位姿检测

    QT+Halcon综合示例(一):clip回形针2D位姿检测 0.halcon源码: 1.Qt代码: 2.运行结果: 下载:clip回形针2D位姿检测 0.halcon源码: * clip.hdev: ...

  2. HALCON示例程序clip.hdev曲别针方向识别

    HALCON示例程序clip.hdev曲别针方向识别 示例程序源码(加注释) 关于显示类函数解释 dev_update_window ('off') 读入图片 read_image (Clip, 'c ...

  3. Halcon转OpenCV实例--去除纸张中的颜色笔迹/墨迹(附源码)

    导读 本文主要介绍一个去除纸张中颜色笔迹/墨迹的实例,并将Halcon实现转为OpenCV. 实例来源 实例来源于51Halcon论坛的讨论贴: https://www.51halcon.com/fo ...

  4. Halcon一维码和二维码识别

    Halcon一维码和二维码识别 一.Halcon一维码识别 二.Halcon二维码识别 一.Halcon一维码识别 1.一维码的识别过程: (1).创建条码模型create_bar_code_mode ...

  5. 【Halcon】Halcon语法 与 《halcon工业应用实用教程》

    http://blog.sina.com.cn/s/blog_61cc743001018gny.html 好久没有写篇文章了.写一篇总结吧. 1.Halcon的自我描述 Program Logic Ø ...

  6. 【Halcon】Halcon与OpenCV介绍、比较

    from:https://blog.csdn.net/taily_duan/article/details/51499769 1.MVTec HALCON MVTec HALCON 是世界上最全能的机 ...

  7. HALCON示例程序color_segmentation_pizza.hdev披萨肉饼识别。

    HALCON示例程序color_segmentation_pizza.hdev披萨肉饼识别. 示例程序源码(加注释) 关于显示类函数解释 dev_update_off () dev_close_win ...

  8. 中国机器视觉产业业发展战略研究及投资方向分析报告2022-2027年

    中国机器视觉产业业发展战略研究及投资方向分析报告2022-2027年   第1章:机器视觉行业概念界定及行业发展环境剖析1.1 机器视觉界定 1.1.1 机器视觉界定 1.1.2 机器视觉原理 1.1 ...

  9. 吴恩达机器学习(十五)—— 应用实例:图片文字识别

    应用实例:图片文字识别 1. 问题描述和流水线 2. 滑动窗口 3. 获取大量数据:人工数据合成 4. 上限分析:流水线的哪个模块最有改进价值   学习图片文字识别的应用实例要做的事情: 展示一个复杂 ...

最新文章

  1. vba 编辑combobox内容_初识Visual Basic编辑器并建立一段简单的代码
  2. Linux性能研究(总)
  3. 05 Python 并发编程(管道,事件,信号量,进程池)
  4. QML编程之旅 -- 事件处理
  5. 牛客-服务器需求【线段树】
  6. undefinednbsp;referencenbsp;to…
  7. xampp 无法启动appche mysql
  8. 计算机组成原理中EMAR是什么,计算机组成原理(罗克露)第3章cpu.ppt
  9. ug无限的服务器名称,ug无效的服务器名称
  10. Jmeter性能测试脚本实战
  11. python面向对象编程的思想0727
  12. 一位卖家对淘宝查杀虚假交易痛讼!
  13. Mac卸载postgresql
  14. 51单片机定时器中断按键消抖(无延时)
  15. NodeJS 实现多语言
  16. ICDAR 2017 数据集介绍
  17. 华为郑叶来:AI炒作和投机回落,是行业应用春天的开始...
  18. linux 磁盘管理3板斧,df、du、fdisk:Linux磁盘管理三板斧的使用心得 | 旺旺知识库...
  19. Python课程设计:简易速读训练系统
  20. OA无纸化政府办公原笔迹电子签名解决方案

热门文章

  1. 竞争压力大,vivo重视中低端手机
  2. linux内核分析设备,手把手教你分析Linux内核
  3. linux之观察磁盘分区状态(lsblk)
  4. 【高并发项目实战】千万级购物车系统缓存架构方案
  5. python二维列表添加_Python二维数组
  6. REVIEW of 路由器原理与设计
  7. 计算机初中自我介绍英文作文,计算机英文自我介绍范文
  8. 手注Oracle墨者靶场案例
  9. Exercise 2.什么是网络服务器?它们如何工作?以及为什么它们很重要?
  10. java_05手机里练习