cvtColor()函數是OpenCV里的顏色空間轉換函數,可以實現RGB顏色向HSV、HSI等顏色空間的轉換,也可以轉換為灰度圖像。
原型如下:
c++:void cvtColor(InputArray src,outputArray dst,int code,int dstCn=0)
第一個參數為輸入圖像;
第二個參數為輸出圖像;
第三個參數為顏色空間轉換的標識符(具體見表);
第四個參數為目標圖像的通道數,若該參數是0,表示目標圖像取源圖像的通道數。
下面是一個調用示例:
//此句代碼的OpenCV2版為:
cvtColor(sreImage,dstImage,CV_GRAY2BGR);//轉換原始圖為灰度圖
//此句代碼的OpenCV3版為:
cvtColor(srcImage,dstImage,COLOR_GRAY2BGR);//轉換原始圖為灰度圖而隨着OpenCV版本的升級,cvtColor()函數對於顏色空間種類的支持也是越來越多。其標識符列舉如表所示。
#include <opencv2/imgproc/imgproc.hpp>
#include <opencv2/highgui/highgui.hpp>
using namespace cv;
using namespace std;
int main(int argc, char ** argv)
{
Mat srcImage = imread("1.jpg", 1), dstImage;
cvtColor(srcImage, dstImage, COLOR_BGR2Lab);
imshow("原圖", srcImage);
imshow("效果圖", dstImage);
waitKey(0);
return 0;
}
運行:
參考:
《OpenCV3 編程入門》 毛星雲 P99