对于边界明显的图像,但是整体灰度值相近,不易用otsu直接找出正确的阈值,可以使用边缘改进的阈值处理。
具体算法过程如下:
1.用一种边缘查找方式计算图像的模版值。
2.通过百分比指定阈值。由于计算的边缘模板值中有很多噪声。所以可以将计算值排序,并选择百分比相对高的值(大于百分下的值的阈值)作为阈值。
3.根据指定的阈值,对第一步的图像边缘值进行选择。使高于阈值的像素点值为1,反之为零。由此选择出部分边缘点的二值图像(模板)。
4.用刚才计算出来的模板与原图像相乘,获得一幅新的图像。
5.对新的图像使用otsu进行分割。
matlab实现如下:
1.计算各个点的sobel模板值,并将所有值存入lap_tmp中;
pic = imread