0
点赞
收藏
分享

微信扫一扫

【个人笔记】OpenCV4 C++ 快速入门 01课

归零者245号 2022-01-20 阅读 71

01 图像读取与显示

1.显示1张图片

对这个代码进行解释

#include<opencv2\opencv.hpp>
#include<iostream>

using namespace cv;
using namespace std;

int main(int argc, char** argv) {

	Mat src = imread("D:/WorkSpace/Opencv/images/lena.png");
	/*
	1.Mat
		读进来的图像以矩阵的方式存储
	2.imread
		读取图像
			共2个参数
				第1个参数 图片路径
				第2个参数 色彩标志
	*/

	imshow("input", src);
	/*
	1.imshow
		显示图像
			共2个参数
				第1个参数 窗口名称
				第2个参数 输出对象
	*/

	waitKey(0);
	/*
	1.waitKey
		等待键
			共1个参数
				第1个参数 等待时间(ms)规定0为永远
	*/

	destroyAllWindows();
	/*
	1.destroyAllwindows
		销毁所有窗口
			无参数
	*/

	return 0;
}

2.窗口问题

所以会遇到这样的问题:图片超出了物理屏幕,那该怎么办?

在这里插入图片描述
记得把imshow的窗口名称对应上
在这里插入图片描述
那现在就是一个可调大小的窗口了
在这里插入图片描述

3.灰度图像的显示

在这里插入图片描述
如果我们想显示一张灰度图片,那该怎么办?

在这里插入图片描述
在这里插入图片描述

4.其他情况

当png图片有透明通道时,透明通道也是要加载的,怎么办呢?

在这里插入图片描述
当图片是浮点数据,或其他数据的类型时,我们需要更多的处理

在这里插入图片描述

在这里插入图片描述

5.depth为1的解释

所以有的时候,检查深度时src.depth();这里得到1,也不要诧异

6.判断

#include<opencv2\opencv.hpp>
#include<iostream>

using namespace cv;
using namespace std;

int main(int argc, char** argv) {

	Mat src = imread("D:/WorkSpace/Opencv/images/lena.png0");

	if (src.empty()) {
		printf("could not load image……\n");
		return -1;
	}

	namedWindow("输入窗口", WINDOW_FREERATIO);

	imshow("输入窗口", src);

	waitKey(0);

	destroyAllWindows();

	return 0;
}

在这里插入图片描述
当没有判断时,有错时,就会提示一种断言式空,一般是图片路径的问题

7.本课所用API查阅

1.imread
在这里插入图片描述
2.imshow
在这里插入图片描述
3.namedWindow
在这里插入图片描述
4.waitKey
在这里插入图片描述
5.destroyAllWindows
在这里插入图片描述

举报

相关推荐

0 条评论