目录
1.实验原理
新建窗口函数:nameWindow
功能:新建一个显示窗口。可以指定窗口的类型。
函数原型
void cv::namedWindow(const String & winname,int flags = WINDOW_AUTOSIZE);
winname:声明窗口名称,用作窗口的唯一标识符;
flags:窗口属性设置标志
标志参数 | 简记 | 作用 |
---|---|---|
WINDOW_NORMAL | 0x00000000 | 显示图像后,允许用户随意调整窗口大小 |
WINDOW_AUTOSIZE | 0x00000001 | 根据图像大小显示窗口,不允许用户调整大小 |
WINDOW_OPENGL | 0x00001000 | 创建窗口的时候会支持OpenGL |
WINDOW_FULLSCREEN | 1 | 全屏显示窗口 |
WINDOW_FREERATIO | 0x00000100 | 调整图像尺寸以充满窗口 |
WINDOW_KEEPRATIO | 0x00000000 | 保持图像的比例 |
WINDOW_GUI_EXPANDED | 0x00000000 | 创建的窗口允许添加工具栏和状态栏 |
WINDOW_GUI_NORMAL | 0x00000010 | 创建没有状态栏和工具栏的窗口 |
显示窗口函数:imshow
函数原型
void imshow(const string& winname, InputArray image);
含义
功能: 在指定的窗口中显示一幅图像。
参数:
const string& winname: 一个字符串,表示窗口的名称。这是用于标识窗口的唯一名称。
InputArray image: 输入的图像数据,通常是一个 cv::Mat 类型的对象,包含了要显示的图像数据。
返回值:
该函数没有返回值,其类型为 void。
行为
创建或查找一个与 winname 参数匹配的窗口。
将 image 参数中的图像数据在该窗口中显示出来。
如果 image 是空的或者无效的,窗口将不会显示任何内容。
等待函数:waitKey函数
函数原型
Waits for a pressed key.
int waitKey(int delay=0);
含义
功能: 等待用户按下键盘上的一个键,并返回按键的 ASCII 值。
参数:
int delay: 一个整数,表示等待时间(以毫秒为单位)。默认值为 0。
返回值:
返回一个整数,表示按下的键的 ASCII 值。如果在指定时间内没有按键被按下,则返回 -1。
参数解释
delay:
如果 delay 为 0,则 waitKey 会无限期等待直到有一个键被按下。
如果 delay 为正数,waitKey 将会等待指定的毫秒数,然后返回。如果在这段时间内有键被按下,则返回该键的 ASCII 值;如果没有键被按下,则返回 -1。
行为
等待用户按下键盘上的一个键。
如果 delay 为 0,则会一直等待直到有键被按下。
如果 delay 为正数,等待指定的时间后返回,无论是否有键被按下。
2.程序代码
#include <opencv2/highgui/highgui_c.h>
#include <opencv2\opencv.hpp>
//#pragma comment(lib, "opencv_world450d.lib") //引用引入库
using namespace cv;
int main()
{
Mat img;
img = imread("010.png",1);//参数1:图片路径 齐心语。参数2:显示原图
namedWindow("窗口1", WINDOW_NORMAL);//WINDOW_AUTOSIZE 时,表示窗口大小自动适应图片大小,并且不可手动更改
imshow("窗口1",img);//在“窗口1”这个窗口输出图片。
waitKey(5000);//等待5秒,程序自动退出。改为0,不自动退出。
return 0;
}