这篇博客主要写OpenCV中图像色彩空间转换。
主要涉及到两个函数: 1.色彩空间转换函数:cvtColor
COLOR_BGE2GRAY = 6 彩色到灰度 COLOR_GRAY2BGR = 6 彩色到灰度 COLOR_BGE2GRAY = 6 彩色到灰度 COLOR_BGE2GRAY = 6 彩色到灰度 2.图像保存函数 :imwrite
第一个参数是图像保存路径 第一个参数是图像内存对象
下面附一下我的各个文件的代码: 首先是我的源文件,源文件的内容主要是图片的获取以及类的使用。
#include <opencv2/opencv.hpp> #include <iostream> #include <quickopencv.h> using namespace std; using namespace cv; int main(int argc, char** argv) { //获取文件图片 Mat src = imread("C:/Users/Dell/Desktop/myself/3.jpg"); if (src.empty()) { printf("could not load image...\n"); return -1; } //namedWindow("输入窗口",WINDOW_FREERATIO); imshow("输入窗口", src); QuickDemo qd; qd.colorSpace_Demo(src); waitKey(0); destroyAllWindows(); return 0; }下来是类的声明头文件:
#pragma once #include <opencv2/opencv.hpp>; using namespace cv; class QuickDemo { public: void colorSpace_Demo(Mat &image); };最后是类的定义源文件:
#include <quickopencv.h> //第二讲 色彩空间的转换 void QuickDemo::colorSpace_Demo(Mat &image) { Mat gray, hsv; //cvtColor的三个参数 cvtColor(image, hsv, COLOR_BGR2HSV);//转hsv cvtColor(image, gray, COLOR_BGR2GRAY);转灰度 imshow("Hsv", hsv); //hsv显示 imshow("灰度图", gray); // 灰度图显示 imwrite("C:/openCVSave/hsv.png", hsv);// hsv保存路径 imwrite("C:/openCVSave/gray.png", gray);// 灰度图保存路径 }附输入图片和灰度、hsv图
加油吧 阿超没有蛀牙!