天天看點

“大腦”生長系列(二)

“大腦”生長系列(二)

談到顔色空間,簡單總結一下,目前我們用到的主要的顔色空間格式包含以下幾種:

一、RGB:這是一種現代顯示器最終顯示使用比較多的一種格式;

二、YUV格式:由于其占用的空間相比RGB較小,經常在作為編碼的輸入資料格式;

三、灰階圖:簡單了解,就是YUV中隻有Y分量,而不考慮UV分量,比較古老的黑白電視的效果便是這樣的喽。

OpenCV提供了不同顔色空間之間進行轉換的接口cvtColor,該接口大概漲這個樣子:

cvtColor(src, dst, transfer_type)

src與dst分别表示轉換前的圖檔與轉換後的圖檔;

transfer_type表示格式轉換的方法:

如從BGR轉到YUV: COLOR_BGR2YCrCb (OpenCV定義了類似這樣的一百多種轉換的方法,此處不詳述)。

請你思考一下:如果将BRG轉換為灰階圖,會是什麼樣的參數呢?

“大腦”生長系列(二)

示例代碼

int main(int argc, char *argv[])
{
    Mat src = imread("2.jpg"); 
    Mat gray;
    cvtColor(src, gray, COLOR_BGR2GRAY);
    namedWindow("src");
    namedWindow("gray");
    imshow("src", src);
    imshow("gray", gray);
    waitKey(0);
    return 0;
}           

複制

想一想是否可以自己實作從BGR到GRAY灰階圖的轉變呢?

這是實際效果圖

原圖

“大腦”生長系列(二)
“大腦”生長系列(二)

灰階圖