opencv-cvtColor图像制式转换

opencv-cvtColor图像制式转换

我们生活中大多数看到的彩色图片都是RGB类型,但是在进行图像处理时,需要用到灰度图、二值图、HSV、HSI等颜色制式,opencv提供了cvtColor()函数来实现这些功能

    cv::Mat src(8, 9, CV_8UC3, cv::Scalar(10,20,30));//图像制式转换
    cv::Mat dst;
    cv::cvtColor(src, dst, cv::COLOR_BGR2BGRA);//图像制式转换
    /*参数1:原矩阵
     * 参数2:目标矩阵
     * 参数3:转换的代码或标识,即在此确定将什么制式的图片转换成什么制式的图片,具体代码看下面图
     * 参数4-可选:目标图像通道数,如果取值为0-默认,则由src和code决定
*/

 参数3:转换的代码或标识

opencv-cvtColor图像制式转换

cv::COLOR_BGR2GRAY          转成灰色图

    cv::Mat M(5, 4, CV_8UC3,cv::Scalar(50, 150, 250));
    std::cerr << M<< std::endl;
    cv::Mat gray;
    cvtColor( M, gray, cv::COLOR_BGR2GRAY );//转成灰色图
    std::cerr << gray<< std::endl;

opencv-cvtColor图像制式转换

  

opencv-cvtColor图像制式转换