0 创建demo类
后续都会在这个类中进行处理
quickdemo.h
#pragma once
#include<opencv2/opencv.hpp>
using namespace cv;
class QuickDemo {
public:
void colorSpace_Demo(Mat &image);
};
1 色彩空间转换函数 - cvtColor
第一个参数是原图片的地址,第二个参数是目标Mat地址,第三个参数是操作符
RGB 是 255x 255 x255
HSV通道 H 0 - 180 ,S 图像颜色,V图像亮度 0-255
2 保存图片 - imwrite
第一个参数是文件位置,第二个是保存对象
关于第三个参数,可以选择保存的选项
它针对特定的格式:对于JPEG,其表示的是图像的质量,用0 - 100的整数表示,默认95;对于png ,第三个参数表示的是压缩级别。默认为3.
注意:
cv2.IMWRITE_JPEG_QUALITY类型为 long ,必须转换成 int
cv2.IMWRITE_PNG_COMPRESSION, 从0到9 压缩级别越高图像越小。
cv2.imwrite(‘1.png’,img, [int( cv2.IMWRITE_JPEG_QUALITY), 95])
cv2.imwrite(‘1.png’,img, [int(cv2.IMWRITE_PNG_COMPRESSION), 9])
3 源码
quickopencv.cpp
#include"quickopencv.h"
void QuickDemo::colorSpace_Demo(Mat &image)
{
Mat gray, hsv;
cvtColor(image, hsv, COLOR_BGR2HSV); // BGR转hsv
cvtColor(image, gray, COLOR_BGR2GRAY); // BGR转gray
imshow("HSV", hsv);
imshow("GRAY", gray);
imwrite("G:/test/hsv.png", hsv); // 保存图像
imwrite("G:/test/gray.png", gray);
}
main函数里的测试
QuickDemo qd;
qd.colorSpace_Demo(src);