opencv学习记录——(2)图像色彩空间转换

//此代码是将class构造的函数写在了另一个文件中
// ************************( 主程序的代码)*****************************
#include <opencv2/opencv.hpp>
#include <iostream>
#include <quickopencv.h>//头文件
using namespace cv;
using namespace std;
int main(int argc, char** argv)
{
	Mat src = imread("H2.jpg");
	if (src.empty())
	{
		cout << "没有加载到图片" << endl;
		return -1;
	}
	namedWindow("输入窗口", WINDOW_NORMAL);
	imshow("输入窗口", src);
	QuickDemo qd;
	qd.colorSpaceDemo(src);//调用所构造的函数
	waitKey(0);
	destroyAllWindows();
	return 0;
}
//*************************************头文件**********************************
#include <opencv2/opencv.hpp>
#include <iostream>
using namespace cv;
using namespace std;

class QuickDemo
{
public:
	void colorSpaceDemo(Mat& image);
};
//******************************原文件(用于盛放构造的函数)*********************************

#include <quickopencv.h>

void  QuickDemo::colorSpaceDemo(Mat& image) //此处用到“引用”
	{
		Mat gray, hsv;//类似于int 定义出两个量
		cvtColor(image, hsv, COLOR_BGR2HSV);//把image转化为HSV的形式,再存放在hsv目标中
		cvtColor(image, gray, COLOR_BGR2GRAY);//把image转化为gray的形式,再存放在gray目标中
		imshow("HSV", hsv);
		imshow("灰度", gray);
		imwrite("E:/hsv.jpg",hsv); //把目标hsv以hsv.jpg的形式存在E盘中
		imwrite("E:/gray.jpg",gray);
};
//补充c++知识:对于构造的class函数 在源文件中要写成void  QuickDemo::colorSpaceDemo(Mat& image) 
//的形式,不可以直接写成以下形式:
//    class QuickDemo
//    {
//      public:
//	    void colorSpaceDemo(Mat& image);
//      };

opencvtest.cpp为主程序代码

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值