close

會使用到以下函數,建議先知道該函數的用法(有些函數從名稱上來看就知道用途,這種函數我就不解釋了)

cvCreateImage

cvCvtColor

cvWaitKey

 

還會使用到下面這個知識,也建議先看一下

通道

 

這個範例中,我使用的圖片是下面這張,命名為聖誕節.jpg

 

開始撰寫程式碼!


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

using namespace cv;
using namespace std;

int main()
{
    char fileName[] = "D:\\聖誕節.jpg";
    IplImage *image, *grayImage;
    
    image = cvLoadImage(fileName);
    grayImage = cvCreateImage(cvGetSize(image), IPL_DEPTH_8U, 1);//1代表灰階圖
    if (!image || !grayImage)
    {
        cout << "找不到檔案!!!" << endl;
    }
    else
    {
        //其實轉灰階有套數學公式,不過既然OpenCV已經有提供轉灰階的函數,就不需要使用到該公式了。
        cvCvtColor(image, grayImage, CV_RGB2GRAY);//RGB to Gray

        cvShowImage("gray image", grayImage);
        cvWaitKey(0);
    }

    system("pause");
    return 0;
}


 

執行後結果如下

arrow
arrow
    全站熱搜

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