Halcon-常用阈值分割方法总结

本文详细介绍了Halcon中的几种图像分割算子,包括全局阈值分割、自动全局阈值分割、动态局部阈值分割、均值和标准偏差局部阈值分割、快速全局阈值分割以及分水岭阈值分割。针对不同场景,如环境稳定、光照变化、噪声影响等,这些算子提供了灵活的解决方案。通过实例展示了各算子在硅片分选机隐裂站成像中的应用效果。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

本文主要阐述halcon中较为常见的几种分割算子

引言

halcon中分割算子:
(1)全局阈值分割:
threshold(Image : Region : MinGray, MaxGray : )
该算子适用于环境稳定,光照变化不大,目标与背景存在明显的灰度差的场合,根据灰度直方图确定阈值进行图像分割。

read_image (Image, 'clip')
gray_histo (Image, Image, AbsoluteHisto, RelativeHisto)
gen_region_histo (Region, AbsoluteHisto, 255, 255, 1)
*利用直方图获取阈值
histo_to_thresh (AbsoluteHisto,10, MinThresh, MaxThresh)
*全局阈值分割
threshold (Image, Region1, MinThresh, MaxThresh)

(2)自动全局阈值分割
binary_threshold(Image : Region : Method, LightDark : UsedThreshold)
该算子提供两种方法“max_separability”和“smooth_histo”。
最大限度的可分性(max_separability):根据“灰度直方图的阈值选择方法”的灰度直方图自动阈值调用。该算子首先计算图像的直方图,然后利用统计矩找到将像素分割为前景和背景的最优阈值,并最大化这两个类之间的可分性。此方法仅适用于byte和uint2图像。
直方图平滑(smooth_histo):首先确定灰度值的相对直方图。然后,从直方图提取相关的最小值,作为阈值操作的参数。为了减少最小值,直方图被平滑处理为一个高斯函数,就像在auto_threshold中一样。在平滑直方图中,掩模尺寸增大,直到得到2个波峰的最小值。然后,阈值设置为这个最小值的位置。

read_image (Image, 'clip')
binary_threshold (Image, Region, 'max_separability', 'dark', UsedThreshold)

(3)动态局部阈值分割
dyn_threshold(OrigImage, ThresholdImage : RegionDynThresh : Offset, LightDark : )
(4)均值和标准偏差局部阈值分割
var_threshold(Image : Region : MaskWidth, MaskHeight, StdDevScale, AbsThreshold, LightDark : )
参数:
MaskWidth、 MaskHeight是用于滤波平滑的掩膜尺寸;
StdDevScale是标准差乘数因子(简称标准差因子);
AbsThreshold是设定的绝对阈值;
LightDark有4个值可选,’light’、’dark’、’equal’、’not_equal’。
需要强调的是var_threshold算子和dyn_threshold算子极为类似。不同的是var_threshold集成度更高, 并且加入了“标准差×标准差因子”这一变量。可以有效地减少噪声对分割的影响。
(5)自动全局阈值分割
auto_threshold(Image : Regions : Sigma : )
运行原理:
1.计算灰度直方图。
2.高斯平滑后从直方图提取最小值。
3.根据提取的最小值进行阈值分割,sigma越大提取区域越少。

read_image (Image, 'fabrik')
median_image (Image, Median, 'circle', 3, 'mirrored')
auto_threshold (Median, Regions, 3)

(6)快速全局阈值分割
fast_threshold(Image : Region : MinGray, MaxGray, MinSize : )
灰度值满足Gamma公式展示MinGray<=g<=MaxGray聚合为一个区域,为了节省时间按两步执行。
1.先处理行列间隔Minsize的所有像素点。
2.处理上一步选择点的领域。和threshold相比分割速度快。
(7)分水岭阈值分割
watersheds_threshold(Image : Basins : Threshold : )

算子分割实例

测试图片:硅片分选机隐裂站成像


图1.1 隐裂站运行时硅片成像灰度均值为110±10
在这里插入图片描述
图1.2 硅片较厚时会出现成像较黑
在这里插入图片描述
图1.3 硅片较薄时成像较亮

(1)使用全局阈值三种样片测试效果
在这里插入图片描述
正常片分割效果:硅片全覆盖
在这里插入图片描述
厚片分割效果:有多余背景和中间空隙

在这里插入图片描述
薄片分割效果:硅片全覆盖

测试代码:

全局阈值分割threshold (GrayImage, Region, 40, 255)

dev_update_off ()
dev_close_window ()
* Image Acquisition 01: Code generated by Image Acquisition 01
ImageFiles := []
ImageFiles[0] := 'C:/Users/yangguowei/Desktop/片子/薄片.png'
ImageFiles[1] := 'C:/Users/yangguowei/Desktop/片子/厚片.png'
ImageFiles[2] := 'C:/Users/yangguowei/Desktop/片子/正常片.png'
for Index := 0 to |ImageFiles| - 1 by 1
    read_image (Image, ImageFiles[Index])
    get_image_size (Image, Width, Height)
    *打开窗口用于显示三种类型图片分割效果展示
    dev_open_window (0, 0, Width, Height, 'black', WindowHandle)
    * Image Acquisition 01: Do something
    rgb1_to_gray (Image, GrayImage)
    threshold (GrayImage, Region, 40, 255)
    dev_set_window (WindowHandle)
    dev_set_draw ('fill')
    dev_set_color ('red')
    dev_display (Image)
    dev_display (Region)
endfor

在这里插入图片描述

Halcon是一款强大的机器视觉软件,它提供了多种图像处理功能。其中“常规阈值分割”是一种基本而常用的图像分割技术。 ### 常规阈值分割原理 **阈值分割**是指根据像素灰度值将图像分为前景和背景两部分的过程。在Halcon中实现这一操作通常会经历以下几个步骤: 1. **选择合适的特征量**:对于大多数情况而言,我们会基于图像的亮度信息(即灰度等级)来进行分类;然而,在某些特殊场合下也可以考虑其他属性如颜色、纹理等作为决策依据; 2. **确定最优阈值T**:这一步骤旨在找到能够最佳地区分目标物体与周围环境的那个特定数值点——所有大于等于此临界值得像素被视为属于前者范畴之内,反之则归入后者之中。常用方法包括但不限于最大熵法、Otsu算法以及固定手动设定等方式获取恰当的界限标准; 3. **创建二值化结果图象**:通过遍历原图每个位置处对应的强度读数并与前述计算所得出的标准作比较判断其归属类别并据此生成仅有黑白两种色阶呈现的新版本输出文件。 ```plaintext * 使用 Halcon 的典型语法示例如下 * read_image (Image, 'your_image_path') threshold (Image, Region, T_low, T_high) % 这里T_low,T_high就是选定好的阈值范围 ``` 此外值得注意的是实际应用当中往往需要结合具体的业务场景需求对上述流程做出适当调整优化才能取得理想效果,并且有时为了提高精度还需配合形态学运算等相关手段进一步完善最终成果的质量。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

火星wen

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

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

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

打赏作者

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

抵扣说明:

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

余额充值