当前位置: 首页 > 工具软件 > matImage > 使用案例 >

【OpenCV】OpenCV实战从入门到精通之四 -- 常用的函数讲解(mat、imread、imshow、imwrite、nameWindow)

方高丽
2023-12-01

本文是《OpenCV实战从入门到精通》系列之第4篇

【OpenCV】OpenCV实战从入门到精通之一 -- OpenCV宏的讲解

【OpenCV】OpenCV实战从入门到精通之二 -- OpenCV如何进行图像腐蚀操作

【OpenCV】OpenCV实战从入门到精通之三 -- canny边缘检测

目录

opencv中的C++类和函数都是 定义在命名空间cv之内

Mat类

imread函数

imshow函数

创建窗口:nameWindow()函数

输出图像到文件imwrite()函数


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等格式自动调整压缩还是高质量显示

 类似资料: