常用的二值化方法

来源:互联网 发布:mysql 视图 union all 编辑:程序博客网 时间:2024/06/01 09:33

//计算输入RGB彩色图像srcRGBOTSU二值图像将结果反映到输出图像dstBinary

void getBinaryImageOTSU(IplImage*srcRGB,IplImage*dstBinary)

{

         cvCvtColor(srcRGB,dstBinary,CV_BGR2GRAY);

         cvThreshold(dstBinary,dstBinary,25,255,CV_THRESH_OTSU|CV_THRESH_BINARY_INV);

}

使用示例:

binary=cvCreateImage(cvGetSize(srcRGB),IPL_DEPTH_8U,1);

getBinaryImageOTSU(srcRGB,binary);

 

 

//计算输入灰度图像的自适应化二值图像,将结果反映到输出图像dstBinMat

void getBinaryImageAdaptive(IplImage*srcGray,Mat&dstBinMat)

{

         MatsrcGrayMat(srcGray);

         adaptiveThreshold(srcGrayMat,dstBinMat,255,CV_ADAPTIVE_THRESH_MEAN_C, 

CV_THRESH_BINARY_INV,7,14);

}


使用示例:

IplImage *gray=cvCreateImage(cvGetSize(srcRGB),IPL_DEPTH_8U,1);

cvCvtColor(srcRGB,gray,CV_BGR2GRAY);

Mat binaryMat;

getBinaryImageAdaptive(gray,binaryMat);

cvReleaseImage(&gray);

IplImagebinary=binaryMat;                  



原创粉丝点击