概述

opencv使用cvtColor()函数对图像进行色彩空间的转换。

API说明

C++ API如下表所示:

void cv::cvtColor ( InputArray src, (原始图像,格式:8-bit unsigned / 16-bit unsigned / single-precision floating-point)
OutputArray dst, (目标图像:size与depth和原始图像要相等)
int code, (色彩空间转换码)(ColorConversionCodes)
int dstCn=0 (目标图像的通道数,此参数为0时,目标图像的通道数由原始图像自动生成)
)

python API如下表所示:

dst = cv.cvtColor( src, code[, dst[, dstCn]] )

功能说明

  • 将输入图像从一个色彩空间转换到另一个色彩空间。
  • 在处理RGB图像时要注意色彩通道的顺序(RGB或BGR)。
  • opencv中的默认色彩空间实际是BGR,但是常常以RGB提及。
  • 对于一个24位标准彩色图像而言,1个像素对应3个字节(8位),每个字节依次对应B,G和R分量。
  • R,G,和B分量的取值范围一般如下:

    • 对于CV_8U 图像:0 到 255
    • 对于CV_16U 图像:0 到 65535
    • 对于CV_32F 图像:0 到 1
    • 对于线性变换,该取值范围 不重要。
    • 对于非线性变换,输入的rgb图像应当先归一化到正确的取值范围,从而得到正确的结果。
    • 例如:RGB → L*u*v*,输入图像:8-bit image,目标图像:32-bit floating-point image,在调用 cvtColor()函数之前,应当将输入图像的分量的取值范围从0~255缩到0~1:
      img *= 1./255;
      cvtColor(img, img, COLOR_BGR2Luv);
  • 如果对8-bit images使用cvtColor()函数,转换会丢失部分信息,一般不明显。推荐先将图像转换成32-bit images,再进行色彩空间转换,最后再把图像转换成8-bit images。

  • 如果转换后添加了透明通道,其值会被设置为对应通道取值范围的最大值(255 for CV_8U, 65535 for CV_16U, 1 for CV_32F)。

官网说明

Color conversions

官网样例

camshiftdemo.cpp
ffilldemo.cpp, hog.cpp
houghcircles.cpp
houghlines.cpp
lkdemo.cpp
Sobel_Demo.cpp
train_HOG.cpp
watershed.cpp.

附录一:色彩空间转换代码表

转换代码 转换说明
COLOR_BGR2BGRA add alpha channel to RGB or BGR image
COLOR_RGB2RGBA
COLOR_BGRA2BGR remove alpha channel from RGB or BGR image
COLOR_RGBA2RGB
COLOR_BGR2RGBA convert between RGB and BGR colorspaces(with or without alpha channel)
COLOR_RGB2BGRA
COLOR_RGBA2BGR
COLOR_BGRA2RGB
COLOR_BGR2RGB
COLOR_RGB2BGR
COLOR_BGRA2RGBA
COLOR_RGBA2BGRA
COLOR_BGR2GRAY convert between RGB/BGR and grayscale,官网代码样例
COLOR_RGB2GRAY
COLOR_GRAY2BGR
COLOR_GRAY2RGB
COLOR_GRAY2BGRA
COLOR_GRAY2RGBA
COLOR_BGRA2GRAY
COLOR_RGBA2GRAY
COLOR_BGR2BGR565 convert between RGB/BGR and BGR565(16-bit images)
COLOR_RGB2BGR565
COLOR_BGR5652BGR
COLOR_BGR5652RGB
COLOR_BGRA2BGR565
COLOR_RGBA2BGR565
COLOR_BGR5652BGRA
COLOR_BGR5652RGBA
COLOR_GRAY2BGR565 convert between grayscale and BGR565(16-bit images)
COLOR_BGR5652GRAY
COLOR_BGR2BGR555 convert between RGB/BGR and BGR555(16-bit images)
COLOR_RGB2BGR555
COLOR_BGR5552BGR
COLOR_BGR5552RGB
COLOR_BGRA2BGR555
COLOR_RGBA2BGR555
COLOR_BGR5552BGRA
COLOR_BGR5552RGBA
COLOR_GRAY2BGR555 convert between grayscale and BGR555(16-bit images)
COLOR_BGR5552GRAY
COLOR_BGR2XYZ convert RGB/BGR to CIEXYZ,官网代码样例
COLOR_RGB2XYZ
COLOR_XYZ2BGR
COLOR_XYZ2RGB
COLOR_BGR2YCrCb convert RGB/BGR to luma-chroma(akaYCC),官网代码样例
COLOR_RGB2YCrCb
COLOR_YCrCb2BGR
COLOR_YCrCb2RGB
COLOR_BGR2HSV convert RGB/BGR to HSV(hue saturation value),官网代码样例
COLOR_RGB2HSV
COLOR_BGR2Lab convert RGB/BGR to CIELab,官网代码样例
COLOR_RGB2Lab
COLOR_BGR2Luv convert RGB/BGR to CIELuv,官网代码样例
COLOR_RGB2Luv
COLOR_BGR2HLS convert RGB/BGR to HLS(hue lightness saturation),官网代码样例
COLOR_RGB2HLS
COLOR_HSV2BGR backward conversions to RGB/BGR
COLOR_HSV2RGB
COLOR_Lab2BGR
COLOR_Lab2RGB
COLOR_Luv2BGR
COLOR_Luv2RGB
COLOR_HLS2BGR
COLOR_HLS2RGB
COLOR_BGR2HSV_FULL
COLOR_RGB2HSV_FULL
COLOR_BGR2HLS_FULL
COLOR_RGB2HLS_FULL
COLOR_HSV2BGR_FULL
COLOR_HSV2RGB_FULL
COLOR_HLS2BGR_FULL
COLOR_HLS2RGB_FULL
COLOR_LBGR2Lab
COLOR_LRGB2Lab
COLOR_LBGR2Luv
COLOR_LRGB2Luv
COLOR_Lab2LBGR
COLOR_Lab2LRGB
COLOR_Luv2LBGR
COLOR_Luv2LRGB
COLOR_BGR2YUV convert between RGB/BGR and YUV
COLOR_RGB2YUV
COLOR_YUV2BGR
COLOR_YUV2RGB
COLOR_YUV2RGB_NV12 YUV4:2:0 family to RGB.
COLOR_YUV2BGR_NV12
COLOR_YUV2RGB_NV21
COLOR_YUV2BGR_NV21
COLOR_YUV420sp2RGB
COLOR_YUV420sp2BGR
COLOR_YUV2RGBA_NV12
COLOR_YUV2BGRA_NV12
COLOR_YUV2RGBA_NV21
COLOR_YUV2BGRA_NV21
COLOR_YUV420sp2RGBA
COLOR_YUV420sp2BGRA
COLOR_YUV2RGB_YV12
COLOR_YUV2BGR_YV12
COLOR_YUV2RGB_IYUV
COLOR_YUV2BGR_IYUV
COLOR_YUV2RGB_I420
COLOR_YUV2BGR_I420
COLOR_YUV420p2RGB
COLOR_YUV420p2BGR
COLOR_YUV2RGBA_YV12
COLOR_YUV2BGRA_YV12
COLOR_YUV2RGBA_IYUV
COLOR_YUV2BGRA_IYUV
COLOR_YUV2RGBA_I420
COLOR_YUV2BGRA_I420
COLOR_YUV420p2RGBA
COLOR_YUV420p2BGRA
COLOR_YUV2GRAY_420
COLOR_YUV2GRAY_NV21
COLOR_YUV2GRAY_NV12
COLOR_YUV2GRAY_YV12
COLOR_YUV2GRAY_IYUV
COLOR_YUV2GRAY_I420
COLOR_YUV420sp2GRAY
COLOR_YUV420p2GRAY
COLOR_YUV2RGB_UYVY YUV4:2:2 family to RGB.
COLOR_YUV2BGR_UYVY
COLOR_YUV2RGB_Y422
COLOR_YUV2BGR_Y422
COLOR_YUV2RGB_UYNV
COLOR_YUV2BGR_UYNV
COLOR_YUV2RGBA_UYVY
COLOR_YUV2BGRA_UYVY
COLOR_YUV2RGBA_Y422
COLOR_YUV2BGRA_Y422
COLOR_YUV2RGBA_UYNV
COLOR_YUV2BGRA_UYNV
COLOR_YUV2RGB_YUY2
COLOR_YUV2BGR_YUY2
COLOR_YUV2RGB_YVYU
COLOR_YUV2BGR_YVYU
COLOR_YUV2RGB_YUYV
COLOR_YUV2BGR_YUYV
COLOR_YUV2RGB_YUNV
COLOR_YUV2BGR_YUNV
COLOR_YUV2RGBA_YUY2
COLOR_YUV2BGRA_YUY2
COLOR_YUV2RGBA_YVYU
COLOR_YUV2BGRA_YVYU
COLOR_YUV2RGBA_YUYV
COLOR_YUV2BGRA_YUYV
COLOR_YUV2RGBA_YUNV
COLOR_YUV2BGRA_YUNV
COLOR_YUV2GRAY_UYVY
COLOR_YUV2GRAY_YUY2
COLOR_YUV2GRAY_Y422
COLOR_YUV2GRAY_UYNV
COLOR_YUV2GRAY_YVYU
COLOR_YUV2GRAY_YUYV
COLOR_YUV2GRAY_YUNV
COLOR_RGBA2mRGBA alpha premultiplication
COLOR_mRGBA2RGBA
COLOR_RGB2YUV_I420 RGB to YUV4:2:0 family.
COLOR_BGR2YUV_I420
COLOR_RGB2YUV_IYUV
COLOR_BGR2YUV_IYUV
COLOR_RGBA2YUV_I420
COLOR_BGRA2YUV_I420
COLOR_RGBA2YUV_IYUV
COLOR_BGRA2YUV_IYUV
COLOR_RGB2YUV_YV12
COLOR_BGR2YUV_YV12
COLOR_RGBA2YUV_YV12
COLOR_BGRA2YUV_YV12
COLOR_BayerBG2BGR Demosaicing.
COLOR_BayerGB2BGR
COLOR_BayerRG2BGR
COLOR_BayerGR2BGR
COLOR_BayerBG2RGB
COLOR_BayerGB2RGB
COLOR_BayerRG2RGB
COLOR_BayerGR2RGB
COLOR_BayerBG2GRAY
COLOR_BayerGB2GRAY
COLOR_BayerRG2GRAY
COLOR_BayerGR2GRAY
COLOR_BayerBG2BGR_VNG Demosaicing using Variable Numberof Gradients.
COLOR_BayerGB2BGR_VNG
COLOR_BayerRG2BGR_VNG
COLOR_BayerGR2BGR_VNG
COLOR_BayerBG2RGB_VNG
COLOR_BayerGB2RGB_VNG
COLOR_BayerRG2RGB_VNG
COLOR_BayerGR2RGB_VNG
COLOR_BayerBG2BGR_EA Edge-Aware Demosaicing.
COLOR_BayerGB2BGR_EA
COLOR_BayerRG2BGR_EA
COLOR_BayerGR2BGR_EA
COLOR_BayerBG2RGB_EA
COLOR_BayerGB2RGB_EA
COLOR_BayerRG2RGB_EA
COLOR_BayerGR2RGB_EA
COLOR_BayerBG2BGRA Demosaicing with alpha channel.
COLOR_BayerGB2BGRA
COLOR_BayerRG2BGRA
COLOR_BayerGR2BGRA
COLOR_BayerBG2RGBA
COLOR_BayerGB2RGBA
COLOR_BayerRG2RGBA
COLOR_BayerGR2RGBA
COLOR_COLORCVT_MAX

opencv之cvtColor()函数相关推荐

  1. 关于opencv中cvtcolor函数的code参数用CV_BGR2YUV与CV_BGR2YCrCb的了解

    根据Opencv中cvtcolor函数的源码描述,,参数CV_BGR2YCrCb用的系数为[1868, 9617, 4899, 11682, 9241], 而参数CV_BGR2YUV对应的系数只是将C ...

  2. opencv中cvtcolor()函数用法总结(07)

    还是老习惯,分三步走.第一步,功能说明.第二步,结果图显示,第三步,API详解.第四步,代码展示(注释很详细,保证所有有C++基础的人都可以看懂.) 第一步,功能说明:cvtcolor()函数是一个颜 ...

  3. opencv的cvtColor函数Lab转RGB源码解析及结果截断处理解决

    cvtColor( InputArray src, OutputArray dst, int code, int dstCn=0 ); 这是opencv中色彩转换函数.当由Lab转RGB时,code ...

  4. 学习opencv之cvtColor

    opencv 提供了cvtColor()函数,用于在图像中不同的色彩空间进行转换,用于后续处理.在使用cvtColor之前首先需要了解下基本的图像色彩模式,色彩模式决定了打印或显示的图片颜色. 图像色 ...

  5. OpenCV代码提取:cvtColor函数的实现

    OpenCV中的cvtColor函数包括了很多颜色格式之间的转换,用起来很方便,这里对cvtColor函数的code进行了提取,经测试,和OpenCV3.1结果完全一致. 实现代码cvtColor.h ...

  6. OpenCV的cv::cvtColor函数之“CV_RGB2GRAY”: 未声明的标识符错误解决方法

    OpenCV 4.1,cv::cvtColor函数提示:"CV_RGB2GRAY": 未声明的标识符. 原因:缺少头文件opencv2/imgproc/types_c.h 解决:直 ...

  7. OpenCV颜色空间转换函数:cv::cvtColor介绍

    OpenCV颜色空间转换函数:cv::cvtColor介绍 Color Conversion Code(颜色转换代码) Enumerator COLOR_BGR2BGRA add alpha chan ...

  8. 图像边缘检测--OpenCV之cvCanny函数

    图像边缘检测--OpenCV之cvCanny函数 分类: C/C++ void cvCanny( const CvArr* image, CvArr* edges, double threshold1 ...

  9. 利用OpenCV的compareHist函数作直方图的相似度对比的源程序

    图像处理开发需求.图像处理接私活挣零花钱,请加微信/QQ 2487872782 图像处理开发资料.图像处理技术交流请加QQ群,群号 271891601 OpenCV的compareHist函数用来计算 ...

  10. cvtColor函数

    cvtColor函数 函数作用: 转换图像的颜色,彩色 灰度,HSV 等等 函数调用形式: C++:void cvtColor(InputArray src, OutputArray dst, int ...

最新文章

  1. Windows sever 2008
  2. 请教个问题,ajax.net 的效率如何
  3. iOS 字符串加密至MD5
  4. 对于SpringMVC框架使用的时候出现“警告: No mapping found for HTTP request with URI [/login]”的问题解决方案...
  5. 20145234黄斐《信息安全系统设计基础》第十周
  6. HALCON: 本地程序函数(.hdev或.dev)、HDevelop函数文件或外部函数(.hdvp)及库函数(.hdpl)使用详解
  7. matlab delay用法,请教Vensim中DELAY1I函数使用的单位设置
  8. 香港计算机mphil申请成功案例,送给各位,3个Mphil的申请总结(人文社科类)
  9. 使用驱动器中的光盘之前需要将其格式化怎么弄
  10. 中医针灸学综合练习题库【2】
  11. 会议安排问题(贪心算法)
  12. IE6 下 如何 画三角形 ! 方法
  13. SAP ABAP——内表(三)【工作区与表头】
  14. 读书笔记----10日摘抄整理(12)
  15. 驱动开发笔记1—内核中的事件、进程、线程、自旋锁
  16. 最好用的房屋租赁软件(租赁行业)
  17. 天梯赛L1级别80道题解
  18. 数据结构笔记(期末复习,持续更新)
  19. virtualpc2007 95/98系统驱动,虚拟工具,softice安装
  20. 人事管理java 课程设计_java课程设计人事管理系统

热门文章

  1. 【抓包】Xposed+JustTrustMe关闭SSL证书验证
  2. ae渲染出现错误是什么问题_怎样彻底检查根治AE导出失败,渲染影片出错问题...
  3. 【智能优化算法-MOEA_D】基于MOEA_D求解联合经济排放调度(CEED)问题附matlab代码
  4. stm32 代码加密
  5. Theano框架学习
  6. chrome 截长图功能
  7. amazeui验证遇到的坑
  8. 计算机03年word做母亲节贺卡,制作图文并茂的作品---用word制作母亲节贺卡PPT课件...
  9. pano2vr保存的html打不开,pano2VR输出文件打不开
  10. mysql +cobar_MySQL 中间件 cobar 初体验