颜色空间转换 cvtColor()[OpenCV 笔记13]

void cvtColor(InputArray src, OutputArray dst, int code, int dstCn=0)
  • src: 输入图像
  • dst: 输出图像
  • code: 颜色空间转换标识符
    • OpenCV2的CV_前缀宏命名规范被OpenCV3中的COLOR_式的宏命名前缀取代
    • 注意RGB色彩空间默认通道顺序为BGR
    • 具体可以参考: enum cv::ColorConversionCodes部分
  • dstCn: 目标图像的通道数,该参数为0时,目标图像根据源图像的通道数和具体操作自动决定

  示例代码如下:

#include <opencv2/opencv.hpp>
#include <opencv2/highgui/highgui.hpp>
#include <iostream>
// main
int main( int argc, char** argv )
{
    // Load image
    cv::Mat srcImage = cv::imread("1.jpg"), dstImage;
    
    // Convert to other color space
    cv::cvtColor(srcImage, dstImage, cv::COLOR_BGR2Lab);
    imshow("Lab Space", dstImage);
    
    cv::cvtColor(srcImage, dstImage, cv::COLOR_BGR2GRAY);
    imshow("Gray Scale", dstImage);
    
    cv::waitKey();
    
    return 0;
}

Original Image:

Lab Space:

 

Gray Scale:

原文地址:https://www.cnblogs.com/Xiaoyan-Li/p/5677346.html