halcon中阈值分割算子用法

Halcon阈值分割算子详解及实例演示
本文详细介绍了Halcon中的多种阈值分割算子,包括threshold、binary_threshold、dyn_threshold、dual_threshold、auto_threshold、char_threshold、fast_threshold、hysteresis_threshold、local_threshold和watersheds_threshold。每个算子都通过具体示例进行说明,适用于不同的图像处理场景,帮助读者理解和应用这些功能强大的工具。

1.threshold(Image : Region : MinGray, MaxGray : ):通过给定的阈值区间对图像进行分割

效果图:

                                                       

read_image (Audi2, 'audi2')
fill_interlace (Audi2, ImageFilled, 'odd')
threshold (ImageFilled, Region, 0, 90)

 

2.binary_threshold(Image : Region : Method, LightDark : UsedThreshold):自动阈值分割,可以自动选择出'light' 区域或'dark' 区域,使用自动确定的全局阈值分割单通道图像,使用阈值方法Method有'max_separability' 和'smooth_histo'两个值,这两个值都是只应用在具有双峰直方图的图像(bin_threshold是过去时,新的应用程序应该使用binary_threshold)

                                                               

reduce_domain (Image, RegionROI, ImageReduced)
binary_threshold (ImageReduced, RegionBackground, 'max_separability', 'dark', UsedThreshold)

3.dyn_threshold(OrigImage, ThresholdImage : RegionDynThresh : Offset, LightDark : ):使用局部阈值分割图像,首先需要对图像进行平滑处理(例如 mean_image, binomial_filter, gauss_filter等等),然后用原图与平滑后的图逐个像素作比较,可以根据参数分割出原图比平滑后的图灰度高(或者低)Offset个灰度值的区域。(Offset的值最好是在5到40之间)

             

### Halcon 阈值提取算子及其用法Halcon 中,阈值提取是一种常见的图像处理技术,用于将灰度图像转换为二值图像。这一过程可以通过多个算子实现,其中最常用的包括 `threshold` 和 `dyn_threshold`。 #### 1. 基本阈值提取算子 `threshold` `threshold` 是一种简单的全局阈值分割方法,它根据设定的上下限来创建二值图像。该算子会将输入图像中的像素值与指定的阈值范围进行比较,从而生成一个新的二值化图像[^2]。 以下是 `threshold` 的基本语法和参数说明: - **Input Parameters**: - *Image*: 输入的单通道灰度图像。 - *Threshold_min* 和 *Threshold_max*: 定义阈值区间的下限和上限。 - **Output Parameter**: - *Region*: 输出的二值区域。 ##### 示例代码 ```hdevelop read_image (Image, 'mreut') threshold (Image, Region, 100, 255) % 设置阈值区间为 [100, 255] dev_display(Region) ``` 此示例展示了如何读取一张名为 `'mreut'` 的图片并应用简单阈值操作,最终显示结果区域[^3]。 --- #### 2. 动态阈值提取算子 `dyn_threshold` 对于光照不均匀或者背景复杂的情况,静态阈值可能无法满足需求。此时可以使用动态阈值提取算子 `dyn_threshold` 来解决此类问题。这个算子结合了局部自适应阈值计算以及预定义的偏移量,能够更灵活地应对不同场景下的图像分割任务[^4]。 下面是关于 `dyn_threshold` 的具体描述与其调用方式: - **Input Parameters**: - *Image*: 单通道灰度图; - *ReducedImage*: 经过降采样或其他平滑处理后的辅助图像; - *DynThresh*: 用户给定的一个固定差值,用来控制实际使用的阈值得大小调整幅度; - **Output Parameter**: - *Regions*: 得到的目标对象所在位置集合表示形式即连通域数据结构。 ##### 示例代码 ```hdevelop read_image (Image, 'fabrik') mean_image (Image, MeanImage, 9, 9) % 计算均值滤波器输出作为参考影像 dyn_threshold (Image, MeanImage, Regions, 15) % 应用动态阈值算法 dev_display(Regions) ``` 在这个例子中,我们先加载了一幅工业零件表面缺陷检测样本图像 `"fabrik"` ,接着对其执行了一个尺寸为 $9 \times 9$ 的平均模糊运算得到新的参照帧 `MeanImage` 。最后利用这两个版本的数据配合合适的动态偏差数值完成自动化的前景/背景分离工作流程展示[^5]。 --- ### 总结 无论是采用固定的还是可变型式的门限判定机制,在 HALCON 平台之上都能够轻松达成高效精准的效果呈现。开发者只需依据具体的项目条件选取恰当的方法组合即可获得满意的结果。
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

乌里随记

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

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

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

打赏作者

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

抵扣说明:

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

余额充值