得到二维otsu法的阈值(二元组)后怎样做图像分割?怎么在opencv中实现?

问题描述:

得到二维otsu法的阈值(二元组)后怎样做图像分割?怎么在opencv中实现?
也就是得到最佳的一个二元组后,怎么二值化图像?
1个回答 分类:综合 2014-09-25

问题解答:

我来补答
IplImage* binaryImage=cvCreateImage(cvGetSize(imageIn), IPL_DEPTH_8U,1);
cvThreshold(imageIn,binaryImage,graythresh,255,CV_THRESH_BINARY);
其中,imageIn是输入图像,graythresh是用otsu法得到的阈值(如果是二维,可以取出表示阈值的那一维的值),binaryImage是分割后的二值化图像.
再问: 二维otsu得到的阈值有两个数值,比如说是(s,t),用哪一个值去分割图像呢?还是两个都要用到?
再答: 这个问题首先要明白二维otsu得到的(s,t)的含义。 二维otsu分割得到的数值(s,t)定义在图像二维直方图上,也就是一个LxL大小的正方形区域,L表示图像的灰度级(比如256),正方形区域的横坐标表示图像像元的灰度值,纵坐标表示像元的邻域的平均灰度值,该正方形区域中的任一点(i,j)的值pij表示(i,j)发生的频率。 因此,求出的二维otsu分割数值(s,t)是上述LxL大小的正方形区域中的一点,可以将此二维直方图划分为4块,对图像的分割也可以划分为如下四种,对于任意的(i,j)有: (1) 0
 
 
展开全文阅读
剩余:2000
上一页:这一步看不懂
下一页:这题详细解释