cvtColor()函数的功能是把图像从一个彩色空间换换到另外一个色彩空间,有三个参数
- 第一个参数表示源图像
- 第二参数表示色彩空间转换之后的图像
- 第三个参数表示源和目标色彩空间
imwrite()函数
- 保存图像文件到指定目录路径
- 只有8位、16位的PNG、JPG、Tiff文件格式而且是单通道或者三通道的BGR的图像才可以通过这种方式保存
- 保存PNG格式的时候可以保存透明通道的图片
- 可以指定压缩参数
#include <opencv2/opencv.hpp>
#include <iostream>
#include <math.h>
using namespace cv;
int main(int argc, char** argv) {
Mat src = imread("C:/Users/vvcat/Pictures/1.png");
if (src.empty()) { // 检测图像是否加载成功
printf("无法加载图像...... \n");
return -1;
}
namedWindow("加载源图", WINDOW_AUTOSIZE);
imshow("加载源图", src);
namedWindow("色彩空间转换后的图像", WINDOW_AUTOSIZE);
Mat output_image;
cvtColor(src, output_image, COLOR_BGR2HLS); // 使用cvtColor()函数把图像从一个彩色空间换换到另外一个色彩空间
imshow("色彩空间转换后的图像", output_image);
imwrite("C:/Users/vvcat/Desktop/1.png", output_image); // 保存格式为 png
imwrite("C:/Users/vvcat/Desktop/1.jpg", output_image); // 保存格式为 jpg
imwrite("C:/Users/vvcat/Desktop/1.tif", output_image); // 保存格式为 tif
waitKey(0);
return 0;
}
以下是转换后的图像:
使用imwrite()函数保存图片后的格式: