opencv第2讲--色彩空间转换和图片保存
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;
}


posted on 2021-12-15 08:05 xcxfury001 阅读(84) 评论(0) 收藏 举报
浙公网安备 33010602011771号