halcon入门的两百个必会算子(三)——阈值分割

Python3.8

Python3.8

Conda
Python

Python 是一种高级、解释型、通用的编程语言,以其简洁易读的语法而闻名,适用于广泛的应用,包括Web开发、数据分析、人工智能和自动化脚本

这边讲解的算子直接看这个目录翻

目录

threshold (ModelImage, Regions, 128, 255)

binary_threshold(ModelImage, Region, 'smooth_histo', 'light', UsedThreshold)

补充一点滤波的知识

mean_image (ModelImage, ImageMean, Width, Height)

median_image (ModelImage, ImageMedian, Width, Height)

gauss_filter (ImageMean, ImageGauss, 5)

dyn_threshold (ModelImage, ModelImage, RegionDynThresh, 5, 'light')


阈值分割篇

threshold (ModelImage, Regions, 128, 255)

全局阈值分割(光照好的时候用)

也可以使用工具插入,教程看这个:halcon入门到无法入狱(1)灰度直方图-CSDN博客

作用:图像全局阈值分割,用灰度直方图的阈值法进行全局阈值分割,将图像分成背景和前景两部分

ModelImage:输入图像句柄

Regions: 输出的结果,可以理解为区域

128:设定分割阈值

255:设置上限值

binary_threshold(ModelImage, Region, 'smooth_histo', 'light', UsedThreshold)

自动全局阈值分割(黑白分明时使用)

作用:自适应全局阈值分割,通过寻找灰度直方图的两个峰值来进行图像分割,和threshold类似,只是这个并非手动的设定一个字区域值,而是选择模式,自动的识别峰值进行分割·

ModelImage:输入图像句柄

Regions: 输出的结果,可以理解为区域

'smooth_histo': 两种自适应直方图阈值分割方法。‘smooth_histo’用于分割灰度值相对均匀的图像,‘midtones’用于分割灰度值在中间值较多的图像

'light’: 选择亮度阈值,'dark’选择灰度阈值

UsedThreshold: 输出计算出的阈值

补充一点滤波的知识

均值滤波、中值滤波、高斯滤波

滤波的作用是去除一些噪声,平滑一些图像细节

均值滤波:

【作用】可以去除一些细小的噪声,对于高峰值的噪声去除效果比较一般,原理是将突出的噪声平均到周围上面,降低突出的噪声,会造成整体的边缘变得模糊

【特点】边缘变得模糊,类似磨皮的效果

【椒盐噪声】指的是图像中分布着不同大小的亮点(白色)和暗点(黑色)的随机噪声。一般情况下,噪声以椒(0)或盐(255)出现。

中值滤波: 

【效果】可以去除椒盐噪声

【特点】对单个突出点的噪声去除效果很好,但是对于成片的连续噪声,就会造成边缘的模糊

高斯滤波:

【效果】对于高斯噪声有比较好的抑制作用,原理就是将噪声点向中心点靠拢,与周围颜色相近的点进行交换,噪声就被“挤”出来了。

【特点】边缘细节可以比较完好地保存

【高斯噪声】指的是服从高斯分布的噪声,也就是正态分布的噪声。在图像中,噪声可能是白噪声,也可能是某些点的颜色异常。这种噪声可以总结出它的一些统计特征,即噪声的平均值为0,数据符合高斯分布。

实际操作判断不出来的时候,就是都试试,哪个效果好用哪个,理论只是基础,实际和理论往往都有一定的差距

mean_image (ModelImage, ImageMean, Width, Height)

局部分割(一)

作用:图像均值滤波

ModelImage:输入图像句柄

ImageMean: 输出平滑后的图像句柄

Width:设置的均值滤波核宽

Height:设置的均值滤波核高

下面这个就是3*3滤波核的均值滤波

median_image (ModelImage, ImageMedian, Width, Height)

局部分割(二)

作用:图像中值滤波

ModelImage:输入图像句柄

ImageMean: 输出平滑后的图像句柄

Width:设置的均值滤波核宽

Height:设置的均值滤波核高

gauss_filter (ImageMean, ImageGauss, 5)

局部分割(三)

作用:图像高斯滤波

ImageMean:输入的图像句柄

ImageGauss:平滑后的图像句柄

5:高斯核的宽和高,正方形高斯滤波

dyn_threshold (ModelImage, ModelImage, RegionDynThresh, 5, 'light')

作用:图像自动阈值分割,通过计算灰度值分布图中的两个峰值来进行分割,适用于光照差别较大的图

ModelImage:输入图像句柄

ModelImage:输入的第二个图像句柄

RegionDynThresh:处理后输出的结果,可以理解为一块区域(可以有好多块)

5:分割的峰之间差值

'light':分割类型,选择亮度阈值, 可选‘dark’, ‘equal’, ‘light’, ‘not_equal’

上一篇:halcon入门的两百个必会算子(二)——图像创建-CSDN博客

下一篇:halcon入门的两百个必会算子(四)——区域集合运算及变换

您可能感兴趣的与本文相关的镜像

Python3.8

Python3.8

Conda
Python

Python 是一种高级、解释型、通用的编程语言,以其简洁易读的语法而闻名,适用于广泛的应用,包括Web开发、数据分析、人工智能和自动化脚本

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值