【第二課:C++和opencv】改為灰度圖和儲存圖片
阿新 • • 發佈:2019-01-06
這個程式和【第一課】差不多,只是增加儲存函式imwrite()和cvtColor()
【編譯環境:opencv2.4.4和VS2008】
#include "stdafx.h" #include "opencv2/opencv.hpp" using namespace cv; using namespace std; int _tmain(int argc, _TCHAR* argv[]) { //建立Mat指標 Mat src; Mat src_gray; //載入圖片 src= imread("F://Opencv_picture//44.jpg", CV_LOAD_IMAGE_COLOR); if(!src.data) { cout<<"Could not open or find the iamge"<< endl; return -1; } //改為灰色圖片 cvtColor(src, src_gray, COLOR_BGR2GRAY); //儲存圖片 imwrite("gray_image.jpg", src_gray); //建立視窗 namedWindow("Display"); namedWindow("Display_gray", CV_WINDOW_AUTOSIZE); //顯示圖片 imshow("Display", src); imshow("Display_gray", src_gray); //暫停,等待按鍵響應退出 waitKey(0); return 0; }
**********************************************************
相同部分就不講了^_^,不懂自己去看【第一課】
(1)把一種顏色轉換為另一種顏色
C++: void cvtColor(InputArray src, OutputArray dst, int code, int dstCn=0 )
C: void cvCvtColor(const CvArr* src, CvArr* dst, int code)
(2)儲存圖片
C++: bool imwrite(const string& filename, InputArray img, const vector<int>& params=vector<int>() )
C: int cvSaveImage(const char* filename, const CvArr* image, const int* params=0 )
PS:由【第一課】和【第二課】得知,opencv在C++和C語言中有些函式變化相差不大,很多就是相同單詞組合,但沒有【 cv 】這個字首;也有變了單詞,但意思沒變,比如儲存圖片函式imwrite()和cvSaveImage。