1. 色彩空间转换函数--cvtColor
COLOR_BGR2GRAY = 6 色彩到灰度
COLOR_GRAY2RGB = 8 灰度到色彩
COLOR_BGR2HSV = 40 BGR到HSV
COLOR_HSV2BGR = 54 HSV到 BGR
2. 图像保存--imwrite
第一个参数是图像保存路径
第二个参数是图像内存对象
3.代码
QuickDemo.h
#pragma once #include<opencv2/opencv.hpp> using namespace cv; class QuickDemo { public: void colorSpace_Demo(Mat& image); };
QucikDemo.cpp
#include "QuickDemo.h" void QuickDemo::colorSpace_Demo(Mat& image) { Mat gray, hsv; cvtColor(image, hsv, COLOR_BGR2HSV); //将BGR图像转换为HSV图像 H 0-180 SV 0-255 cvtColor(image, gray, COLOR_BGR2GRAY); //将BGR图像转化为GRAY图像 imshow("hsv", hsv); //显示hsv图像 imshow("gray", gray); //显示灰度图像 imwrite("D:\\opencv_test_pics\\hsv2.png", hsv); //保存hsv图像 imwrite("D:\\opencv_test_pics\\gray2.png", gray); //保存gray图像 }
main.cpp
#include<opencv2\opencv.hpp> #include<iostream> #include "QuickDemo.h" using namespace cv; using namespace std; int main(int argc, char** argv) { Mat src = imread("D:\\opencv_test_pics\\2.png"); //load original image if (src.empty()) { cout << "could not load image..." << endl; return -1; } imshow("input", src); //the size of window is same as input inmage QuickDemo qd; qd.colorSpace_Demo(src); waitKey(0); //用于停住显示图像的窗口, 0表示一直阻塞在这里。 destroyAllWindows(); return 0; }