cvtColor( m1,m2, CV_RGB2BGR);
由於 OpenCV 影像格式為 BGR 排列, 而非一般 圖片的 RGB 排列. 可以透過以下指令轉換格式。
#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) { if(argc<=1) { std::cout<<"Error:Please Load a picture!"<<std::endl; return 0; } IplImage *image,*hsv,*mask; //建立視窗 namedWindow("image",CV_WINDOW_AUTOSIZE); namedWindow("hsv",CV_WINDOW_AUTOSIZE); //讀取圖片 image=cvLoadImage(argv[1]); hsv=cvCreateImage(cvGetSize(image),8,3); //將顏色RGB轉成HSV 顏色 cvCvtColor(image,hsv,CV_RGB2BGR); cvShowImage("image",image); cvShowImage("hsv",hsv); waitKey(0); cvDestroyAllWindows(); cvReleaseImage(&image); cvReleaseImage(&hsv); system("pause"); return 0; }