Halcon算子学习:图像阈值分割算子
前言
图像二值化是图像分析与处理中最常见最重要的处理手段,二值处理方法也非常多。越精准的方法计算量也越大。参考博客:
1.threshold-全局固定阈值分割
threshold(Image : Region : MinGray, MaxGray : )
——使用全局固定阈值分割图像
阈值从输入图像中选取灰度值g满足以下条件的像素点

满足条件的图像的所有点作为一个区域返回。如果传递多个灰度值间隔(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)
*期望阈值
TarGetGray:=23
for Index := |MinThresh|-1 to 0 by -1
if(MinThresh[Index]<=TarGetGray)
MinThresh:= MinThresh[Index]
break
endif
endfor
for Index1 := 0 to |MaxThresh|-1 by 1
if (MaxThresh[Index1]>=TarGetGray)
MaxThresh:=MaxThresh[Index1]
break
endif
endfor
*全局阈值分割
threshold (Image, Region1, MinThresh,

本文详细介绍了Halcon中的多种阈值分割算子,包括全局固定阈值threshold、自动全局阈值binary_threshold、局部动态阈值dyn_threshold、均值和标准偏差局部阈值var_threshold,以及双重阈值dual_threshold等。这些算子适用于不同的图像二值化场景,通过实例分析了它们的使用方法和适用条件,有助于理解和应用Halcon进行图像处理。

最低0.47元/天 解锁文章
1296

被折叠的 条评论
为什么被折叠?



