halcon自动全局阈值与动态阈值分割方法

自动全局阈值分割方法:

1、统计直方图

2、寻找出现频率最高的灰度值

3、把比最高频率灰度值或者比它大或小一定灰度阶的灰度值作为阈值分割图像

例:

read_image(Image,'particle')

gray_histo(Image,Image,AbsoluteHisto,RelativeHiso)

PeakGray:=sort_index(AbsoluteHisto)[255]

threshold(Image,Region,PeakGray+25,255)

动态阈值分割:

原因:

1、很多情况下由于背景不均一,无法确定全局阈值

2、目标体经常表现为比背景局部亮一些或者暗一些

方法:

1、通过其邻域找到一个合适的阈值进行分割

2、通过一些平滑滤波算子来确定邻域,例如mean_image、binomial_filter等

3、选择所有比其邻域暗的像素

例:

read_image(Image,'particle')

mean_image(Image,ImageMean,20,20)

dyn_threshold(Image,ImageMean,Region,15,'dark')

你可能感兴趣的:(机器视觉)