close

所謂的二值化,意思就是將圖片的灰度值設為最大或最小(一般都是255和0),也就是將圖片轉為明顯的黑白圖片!可以大量的減少圖片運算量

要二值化之前,會先設定一個門檻(閥值),灰度高於這個門檻的就設為255,反之為0。

雖然二值化原理不難,不過既然OpenCV已經提供二值化的函數,那我們就不需自己寫了。

cvThreshold

 

開始編寫程式碼!一樣使用筆記(1)的那張範例圖


#include <iostream>
#include <opencv2/opencv.hpp>

using namespace cv;
using namespace std;

int main()
{
    char fileName[] = "D:\\聖誕節.jpg";
    IplImage *image;
    
    image = cvLoadImage(fileName, CV_LOAD_IMAGE_GRAYSCALE);//讀取圖片並轉為灰階
    if (!image)
    {
        cout << "找不到檔案!!!" << endl;
    }
    else
    {
        cvThreshold(image, image, 128, 255, CV_THRESH_BINARY);
        cvShowImage("image", image);
        cvWaitKey(0);
    }

    system("pause");
    return 0;
}


執行後結果如下~~

arrow
arrow
    全站熱搜

    Yang 發表在 痞客邦 留言(0) 人氣()