二值化方法总结

1.im2bw(Image, threshold_value)

2.最大类件方差(ostu):

  matlab:im2bw(image, graythresh(image))

3.bernsen算法

较原始的Bernsen: 
这个算法的中心思想是:设当前像素为P,计算以P为中心的大小为(2w+1)*(2w+1)窗口内的所有像素的最大值M与最小值N,两者的均值T, 
if(M-N)> S 
  则当前点P的阈值为T。 
else
  当前窗口所在区域的灰度级差别较小,那么窗口在目标区或在背景区,若T>T'则当前点灰度值为255,否则,当前点灰度值为0.

end
S作者最初设为15, T'设为(255+0)/2=128。
这种最原始的算法的效果总体来说还行,但一般所用的Bernsen算法都是经过各种改进的。

4.adaptthreshold算法

h = fspecial('average', [width height]);
im_mean =uint8(filter2(h, gray));   
bw = gray < im_mean-t;

 

你可能感兴趣的:(二值化方法总结)