05 儲存圖片

使用OpenCV 改變圖片的顏色成為灰色,並將資料儲存在檔案中,以及顯示在畫面上。

#include <opencv2/core/core.hpp>
#include <opencv2/highgui/highgui.hpp>
#include <opencv2/opencv.hpp>
#include <iostream>
#include <string.h>
#include <fstream>

using namespace cv;

int main( int argc, char** argv )
{
    char* imageName = argv[1];
    Mat image;
    image = imread( imageName, 1 );
    if( argc != 2 || !image.data )
    {
        printf( " No image data \n " );
        return -1;
    }
    Mat gray_image;
    cvtColor( image, gray_image, CV_BGR2GRAY );
   imwrite( "Gray_Image.jpg", gray_image );
    namedWindow( "Gray image", CV_WINDOW_AUTOSIZE );
    imshow( "Gray image", gray_image );
    waitKey(0);
    return 0; 
}

編譯時的指令:
$ g++ main.cpp -o main -I/opt/local/include -L/opt/local/lib -lopencv_core.2.4.10 -lopencv_highgui.2.4.10 -lopencv_imgproc.2.4.10

執行結果:
Screen Shot 2014-11-23 at 1.46.50 PM