OpenCV 比较好的二值化方法(这里只有前景和背景)

                                                             

经典的方法---ostu算法
另外kmeans进行聚类的方法,对图像进行二值化。

#include "stdafx.h"
#include "cv.h"
#include "highgui.h"
#include "cxcore.h"

int main(int argc, char* argv[])
{
        IplImage* img;
        img = cvLoadImage("D:\\OOTT\\WEEK5\\F.png");
        IplImage* gray = cvCreateImage(cvGetSize(img),IPL_DEPTH_8U,1);
        cvCvtColor(img,gray,CV_BGR2GRAY);
        cvThreshold(gray,gray,128,255,CV_THRESH_BINARY);
        cvNamedWindow("source",CV_WINDOW_AUTOSIZE);
        cvNamedWindow("Threshold",CV_WINDOW_AUTOSIZE);
    cvShowImage("source",img);
        cvShowImage("Threshold",gray);
        cvWaitKey(0);
        cvReleaseImage(&img);
        cvReleaseImage(&gray);
        cvDestroyWindow("source");
        cvDestroyWindow("Threshold");
        return 0;
}

 

你可能感兴趣的:(#,【OpenCV_练习】)