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

posted @   double64  阅读(16095)  评论(0编辑  收藏  举报
编辑推荐:
· [.NET]调用本地 Deepseek 模型
· 一个费力不讨好的项目,让我损失了近一半的绩效!
· .NET Core 托管堆内存泄露/CPU异常的常见思路
· PostgreSQL 和 SQL Server 在统计信息维护中的关键差异
· C++代码改造为UTF-8编码问题的总结
阅读排行:
· 【.NET】调用本地 Deepseek 模型
· CSnakes vs Python.NET:高效嵌入与灵活互通的跨语言方案对比
· DeepSeek “源神”启动!「GitHub 热点速览」
· 我与微信审核的“相爱相杀”看个人小程序副业
· Plotly.NET 一个为 .NET 打造的强大开源交互式图表库
点击右上角即可分享
微信分享提示