Bernsen算法的中心思想:
设当前像素为P,计算以P为中心的大小为(2k+1)*(2k+1)窗口内的所有像素的最大值Max与最小值Min,两者的均值T,
伪代码如下:
if(Max-Min)> S
则当前点P的阈值为T。
else
当前窗口所在区域的灰度级差别较小,那么窗口在目标区或在背景区,若T>Th则当前点灰度值为255,否则,当前点灰度值为0.
S和Th可以根据需要进行调整,本文中将S最初设为15, Th设为128。
//Bernsen算法
void Bernsen(const cv::Mat &src,cv::Mat &dst,int blockSize,int Th,int