第三节课
在原课程代码上的quickdemo.cpp文件中有编写了 QuickDemo类的对象函数mat_creat_demo(万物可demo),用来实现图像对象的创建和赋值,以及对图像的克隆、复制,并将图像利用cout(iostream封装好的对象,需要使用using namespace std的命名空间)来将图像打印出来,我觉得和C语言中的printf有相似之处。
#include<quickopencv.h>
#include<iostream>
using namespace std;
void QuickDemo::colorSpace_Demo(Mat &image) {
Mat gray, hsv;
cvtColor(image,hsv,COLOR_BGR2HSV);//利用cvtColor函数将图片转化成HSV
cvtColor(image, gray, COLOR_BGR2GRAY);//利用cvtColor函数将图片转化成灰度图像
imshow("HSV",hsv);
imshow("灰度",gray);
imwrite("E:/hsv.png",hsv);//将图片保存在E盘
}
void QuickDemo::mat_creat_demo(Mat &image) {
Mat m3 = Mat::zeros(Size(400, 400), CV_8UC3);//创建空白图像
m3 = Scalar(0,0,255);
cout << "width:" << m3.cols <<"\n" << "height:" << m3.rows << "\n" << "channels:" << m3.channels() << endl;
//cout << m3 << endl;
Mat m4;
//m3.copyTo(m4); //复制(都属于新建一个图像)
m4 = m3.clone(); //克隆(都属于新建一个图像)
//m4 = m3; //m3,和m4最终的输出结果一样
m4 = Scalar(0,255,255);
imshow("图像3", m3);
imshow("图像4", m4);
}