OpenCV 顏色空間轉換:cvtColor()函數


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


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM