openCV中cvtColor函数的详细描述和注意事项和示例 C++程序
cvtColor函数是OpenCV中用于图像颜色空间转换的函数,它可以将一张图像从一种颜色空间转换到另一种颜色空间。
函数原型:
void cv::cvtColor(
InputArray src, // 输入图像
OutputArray dst, // 输出图像
int code, // 转换类型代码
int dstCn = 0 // 输出图像通道数
)
其中,src表示输入图像,dst表示输出图像,code表示转换类型代码,dstCn表示输出图像通道数。
注意事项:
-
输入图像和输出图像必须是同一类型(比如CV_8UC1、CV_8UC3等)。
-
转换类型代码code是一个整数值,表示要进行何种颜色空间转换。常见的转换类型有:
- CV_BGR2GRAY:BGR彩色图像转灰度图像
- CV_GRAY2BGR:灰度图像转BGR彩色图像
- CV_BGR2HSV:BGR彩色图像转HSV彩色图像
- CV_HSV2BGR:HSV彩色图像转BGR彩色图像
- CV_BGR2YCrCb:BGR彩色图像转YCrCb彩色图像
- CV_YCrCb2BGR:YCrCb彩色图像转BGR彩色图像
示例:
下面是一个将BGR彩色图像转换成灰度图像的示例:
#include <opencv2/opencv.hpp>
using namespace cv;
int main()
{
Mat srcImage = imread("test.jpg");
if (srcImage.empty()) {
return -1;
}
Mat grayImage;
cvtColor(srcImage, grayImage, CV_BGR2GRAY); // 将图像从BGR转换成灰度图像
imshow("srcImage", srcImage);
imshow("grayImage", grayImage);
waitKey(0);
return 0;
}
``
原文地址: https://www.cveoy.top/t/topic/fVQO 著作权归作者所有。请勿转载和采集!