勇哥的实验:halcon阈值分割算子细谈(四)hysteresis_threshold

阈值分割引言

C#
阈值分割有非常多的算法,大体上分为全局和局部算法。
全局算法包括全局固定阈值和基于图像直方图的阈值,局部算法包括局部动态阈值分割。
基于图像直方图阈值分割的方法也有很多,比如常规的高斯滤波双峰法,OTSU大津法。
但是这类所有的法都基于一个假设:图像是有前景和背景的,待分割目标处于背景中,即图像直方图是双峰的。
如果因为非均匀光照导致待分割目标不处于背景或前景中,即图像直方图无双峰,
那么基于图像直方图的所有法都是不甚理想的
只能在此基础上进行一定的变换,例如nbl算法等,这些都属于局部算法。

任何算法,都会基于假设空间的。没有假设空间,所有算法性能一致。包括经典算法和深度学习算法。

本系列的贴子勇哥通过实验来细品它们之间的差别,以求以后可以精准应用。


hysteresis_threshold

它是一种局部域值分割的算子,通常用于对边缘图像(找边缘算法生成的图像)进行找边。


举个首栗:

read_image (Image, 'fabrik')
get_image_size (Image, Width, Height)
dev_close_window ()
dev_open_window (0, 0, Width, Height, 'black', WindowID)
dev_set_color ('red')
sobel_amp (Image, EdgeAmplitude, 'thin_sum_abs', 3)
hysteresis_threshold (EdgeAmplitude, RegionHysteresis, 10, 20, 10)


下面依次是: 原图、sobel_amp找边缘的图像。

image.png image.png

这是hysteresis_threshold算子的结果。

image.png


原型

hysteresis_threshold(Image : RegionHysteresis : Low, High, MaxLength : )

功能

对图像执行滞后阈值操作(这个概念有点烧脑,后面会继续解释)

参数列表

Image (input_object) :输入图像
RegionHysteresis (output_object) :滞后阈值操作分割后Region
Low (input_control) :设置的低阈值
High (input_control) :设置的高阈值
MaxLength (input_control) :官方解释:Maximum length of a path of “potential” points to reach a “secure” point.字面翻译:“安全”点和“潜在”点路径的最大长度。

勇哥来白话一下参数的意义:

图像上灰度值大于或等于High的点有效,这样的点被称为“secure points安全点,灰度值小于Low的点无效,
灰度值在Low和High之间的点如果到“secure points的距离小于MaxLength则为有效。


未完待续…………


--------------------- 

作者:hackpig

来源:www.skcircle.com

版权声明:本文为博主原创文章,转载请附上博文链接!

本文出自勇哥的网站《少有人走的路》wwww.skcircle.com,转载请注明出处!讨论可扫码加群:

发表评论:

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。

会员中心
搜索
«    2024年4月    »
1234567
891011121314
15161718192021
22232425262728
2930
网站分类
标签列表
最新留言
    热门文章 | 热评文章 | 随机文章
文章归档
友情链接
  • 订阅本站的 RSS 2.0 新闻聚合
  • 扫描加本站机器视觉QQ群,验证答案为:halcon勇哥的机器视觉
  • 点击查阅微信群二维码
  • 扫描加勇哥的非标自动化群,验证答案:C#/C++/VB勇哥的非标自动化群
  • 扫描加站长微信:站长微信:abc496103864
  • 扫描加站长QQ:
  • 扫描赞赏本站:
  • 留言板:

Powered By Z-BlogPHP 1.7.2

Copyright Your skcircle.com Rights Reserved.

鄂ICP备18008319号


站长QQ:496103864 微信:abc496103864