具体描述下cvtColor函数的用法
时间: 2023-09-06 19:09:39 浏览: 226
cvtColor函数是OpenCV中用于颜色空间转换的函数,可以将一种颜色空间中的图像转换到另外一种颜色空间。例如,将RGB图像转换为灰度图像、将BGR图像转换为HSV图像等。
该函数的函数原型如下:
```c++
void cvtColor(InputArray src, OutputArray dst, int code, int dstCn=0 );
```
其中,src表示输入图像,dst表示输出图像,code表示转换的类型,dstCn表示输出图像的通道数。
常用的颜色空间转换代码包括:
- COLOR_BGR2GRAY:将BGR图像转为灰度图像
- COLOR_BGR2HSV:将BGR图像转为HSV图像
- COLOR_BGR2YCrCb:将BGR图像转为YCrCb图像
- COLOR_BGR2Lab:将BGR图像转为Lab图像
- COLOR_BGR2Luv:将BGR图像转为Luv图像
- COLOR_HSV2BGR:将HSV图像转为BGR图像
- COLOR_GRAY2BGR:将灰度图像转为BGR图像
示例代码如下:
```c++
#include <opencv2/opencv.hpp>
#include <iostream>
using namespace cv;
using namespace std;
int main()
{
Mat img = imread("lena.jpg");
Mat gray_img, hsv_img;
cvtColor(img, gray_img, COLOR_BGR2GRAY);
cvtColor(img, hsv_img, COLOR_BGR2HSV);
imshow("gray", gray_img);
imshow("hsv", hsv_img);
waitKey(0);
return 0;
}
```
该示例代码中将一张BGR图像转换为灰度图像和HSV图像,并在窗口中显示。
阅读全文