一、编程环境:
OpenCV | 4.1.0 |
IDE | Visual Studio 2017 Enterprise (15.9.13) |
操作系统 | Windows 10 x64 中文专业版 (1903) |
二、色彩空间转换示例程序(彩色转灰度):
#include <opencv2/opencv.hpp>
#include <iostream>
using namespace cv;
using namespace std;
int main(int argc, char** argv) {
Mat src = imread("d:/test.jpg");
if (src.empty()) {
printf("不能加载图片!\n");
return -1;
}
namedWindow("原图", WINDOW_AUTOSIZE);
imshow("原图", src);
Mat gray;
cvtColor(src, gray, COLOR_BGR2GRAY);
namedWindow("灰度图", WINDOW_AUTOSIZE);
imshow("灰度图", gray);
imwrite("d:/test_gray.jpg", gray);
waitKey(0);
return 0;
}
三、OpenCV 中的色彩空间转换编码:
说明:在 imgproc.hpp 文件中定义。(D:\opencv-4.1.0\build\include\opencv2\imgproc.hpp)
enum cv::ColorConversionCodes {
cv::COLOR_BGR2BGRA = 0,
cv::COLOR_RGB2RGBA = COLOR_BGR2BGRA,
cv::COLOR_BGRA2BGR = 1,
cv::COLOR_RGBA2RGB = COLOR_BGRA2BGR,
cv::COLOR_BGR2RGBA = 2,
cv::COLOR_RGB2BGRA = COLOR_BGR2RGBA,
cv::COLOR_RGBA2BGR = 3,
cv::COLOR_BGRA2RGB = COLOR_RGBA2BGR,
cv::COLOR_BGR2RGB = 4,
cv::COLOR_RGB2BGR = COLOR_BGR2RGB,
cv::COLOR_BGRA2RGBA = 5,
cv::COLOR_RGBA2BGRA = COLOR_BGRA2RGBA,
cv::COLOR_BGR2GRAY = 6,
cv::COLOR_RGB2GRAY = 7,
cv::COLOR_GRAY2BGR = 8,
cv::COLOR_GRAY2RGB = COLOR_GRAY2BGR,
cv::COLOR_GRAY2BGRA = 9,
cv: