本文是《OpenCV实战从入门到精通》系列之第4篇
【OpenCV】OpenCV实战从入门到精通之一 -- OpenCV宏的讲解
【OpenCV】OpenCV实战从入门到精通之二 -- OpenCV如何进行图像腐蚀操作
【OpenCV】OpenCV实战从入门到精通之三 -- canny边缘检测
目录
opencv中的C++类和函数都是 定义在命名空间cv之内
#include<opencv2/core/core.hpp>
#include<opencv2/highgui/highgui.hpp>
using namespace cv;
Mat类
Mat是用来保存图像以及其他矩阵数据的数据结构, 默认情况尺寸为0;先学会下面这一句
将my.jpg导入到电脑中,存在srcImage这个矩阵中
Mat srcImage = imread("my.jpg");
imread函数
Mat imread(const string& filename, intflags=1 );
第一个参数:文件名(包含文件路径的)
第二个参数:读取图像的选项。>0 返回三通道彩色图像,=0返回灰度,<0返回Alpha通道的图像
Mat image0=imread("my.jpg",2 | 4);//载入最真实的图像
Mat image1=imread("my.jpg",0);//载入灰度图
Mat image2=imread("my.jpg",199);//载入3通道的彩色图像
Mat logo=imread("my.jpg");//载入3通道的彩色图像,默认为1
imshow函数
void imshow(const string& winname, InputArray mat);
第一个参数:窗口名称
第二个参数:需要显示的图像的矩阵
默认显示是原始图片大小,而缩放时取决于图像的深度,InputArray就当做Mat类型即可
Mat msd;
imshow("显示出来结果图像",msd);
创建窗口:nameWindow()函数
void nameWindow(const string& winname,int flags=WINDOW_AUTOSIZE);
第一个参数:窗口名称
第二个参数:窗口标识,也就是窗口大小
输出图像到文件imwrite()函数
bool imwrite(const string& filename,InputArray img, const vector<int>& params=vector<int>() );
第一个参数:文件名,通常有后缀,比如my.jpg you.png
第二个参数:需要保存的数据,Mat类型
第三个参数:特定格式的参数编码,写不写都行,根据jpg,png等格式自动调整压缩还是高质量显示