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