前言:
目前咱们对“分水岭算法自动”可能比较重视,兄弟们都想要分析一些“分水岭算法自动”的相关内容。那么小编同时在网摘上收集了一些对于“分水岭算法自动””的相关资讯,希望大家能喜欢,你们快快来了解一下吧!halcon中图像分割,主要是对单通道图像进行处理,主要的方法有几种:1、阈值处理;2、区域生长法;3、分水岭算法
一、阈值处理
阈值处理是最简单也是最常用的的区域选择方法,特别适用于目标和背景的灰度有明显的区别情况。阈值处理主要也有几种算子进行处理,全局阈值、基于直方图的自动阈值分割方法、自动全局阈值分割方法等
1、全局阈值处理:在HDevelop上可以使用灰度直方图很方便的进行处理
打开灰度直方图,在范围筛选及代码生成处选择阈值,然后再在上面的图形灰度直方图上滑动绿色的阈值线,可以在左侧看到图形分割的处理结果。阈值等于227值的效果
阈值等于87的效果,可以把后面的背景处理只剩头条两个区域。
点击插入代码,可以直接生成阈值处理的代码
这就是在halcon里利用灰度直方图很方便就进行阈值分割的方法。
2、基于直方图的自动阈值分割方法
全局阈值处理是我们手动输入的阈值的,除了我们手动输入阈值以外,我们还可以使用程序自动分割阈值的算子,auto_threshold 这个算子是可以自动获取最合适的阈值,其原理是,以灰度直方图中出现的谷底为分割点,对灰度直方图的波峰进行分割。因此有多少个波峰就会分割出多少个区域。
3、自动全局阈值分割方法
除了auto_threshold 这个算子,还常用binary_threshold 算子对直方图波峰图像进行自动阈值分割。binary_threshold同样利用了直方图,但不同的是,该算子是根据直方图中像素分布提供可选的分割方法,如使用最大类间方差法或平滑直方图阀,都可以自动计算出一个灰度级别用于分割区域。
二、区域生长法
regiongrowing算子,它能够将灰度值相近的相邻像素合并成为同一区域。
regiongrowing_mean算子。
三、分水岭算法
分水岭算法是一种典型基于边缘的图像分割算法,通过寻找区域之间的分割线,对图像进行分割。
watersheds()
watersheds_threshlod()
两个算子是分水岭算法的两个算子。
labview调用阈值处理的方法:
第一种最简单的,直接调用hdev引擎运行halcon程序
第二种就是根据.NET找到对应的方法调用对应的算子
这是两个关键的算子,主要就是查找的方法,方法我在前面的文章已经说过,这里就不再赘述,有兴趣的可以看我之前的文章《labview调用halcon的两种方法》。
这是整个运行效果和labview程序。
标签: #分水岭算法自动 #基于分水岭算法的图像分割 #基于分水岭的图像分割程序设计 #区域生长分割算法