天天看点

“大脑”生长系列(二)

“大脑”生长系列(二)

谈到颜色空间,简单总结一下,当前我们用到的主要的颜色空间格式包含以下几种:

一、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灰度图的转变呢?

这是实际效果图

原图

“大脑”生长系列(二)
“大脑”生长系列(二)

灰度图