1、实现显示一张图片
2、源码如下(可执行)
// session_01.cpp : 此文件包含 "main" 函数。程序执行将在此处开始并结束。
//
#include <iostream>
#include <opencv2/highgui/highgui.hpp>
using namespace cv;
using namespace std;
int main()
{
//mat 是opencv的一种数据结构,是用来存放数据的
//imread 读取一张图片 后面的参数是以何种方式读取,默认常规,例如现在就是读取灰度图片
Mat img = imread("./img/pic.jpg",IMREAD_GRAYSCALE);
namedWindow("img");//创建一个窗口 默认和自动拉伸 你可以在第二个参数设置窗口大小
imshow("img", img);//显示图片操作,包含两个参数,第一个是显示的窗口名称,第二个是Mat保存的图片数据
waitKey(6000);//这是一个等待命令 等待6000ms后自动结束 将其设置为0则会一直等待
}
/*Mat本质上是由两个数据部分组成的类,矩阵头和一个数据指针矩阵头就表示图片的尺寸 颜色
深度等信息 数据指针指向图片的数据部分的信息,一般来说矩阵的头部表示的信息都相差不大,但是
数据部分相差很大,图片越大数据指针指向的数据越大
Mat 包含不止四个方面的数据
flags 包含RGB通道数和颜色深度等等
dims 数组的维度
rows 行 对应分辨率
cols 列 对应分辨率
通道数和深度在对应的方法里面
channels() depth()
*/
/*
imshow函数 如果之前没有创建窗口,则在生成时会自动创建一个窗口
*/
3、解释一下Mat这个类
包含的属性