示例:

# -*- coding: utf-8 -*-
# Data: 2023/7/2

import cv2

cv2.namedWindow("window",cv2.WINDOW_NORMAL)
cv2.resizeWindow("window",800,600)
cv2.imshow("window", 0)
cv2.waitKey(0)
cv2.destroyAllWindows()

图片alt

一、namedWindow函数

使用opencv创建窗口,需要用到namedWindow函数,上面的函数第一个参数为窗口名称,第二个为窗口的属性。可选值如下:

参数 作用
WINDOW_NORMAL 用户能够调节窗口大小
WINDOW_AUTOSIZE 根据图像大小显示窗口,大小固定
WINDOW_FREERATIO 调整图像。不考虑其比例
WINDOW_KEEPRATIO 保持图像比例
cv2.namedWindow("window",cv2.WINDOW_NORMAL)
二、resizeWindow函数

创建窗口后设置窗口大小,设置窗口大小要使用resizeWindow,如果namedWindow函数第二个参数使用了WINDOW_AUTOSIZE,那么窗口不能进行修改大小了. 第一个参数为窗口名字,后面分别为宽和高,使用该函数将窗口设置为宽800,长600。

cv2.resizeWindow("window",800,600)
三、imshow函数

使用函数imshow可以显示图像。第一个参数为窗口名称,如果窗口不存在,那么会默认创建一个窗口,窗口名称就是这里填的窗口名称,第二个参数为图像的矩阵,这里由于没有读入图像,先用0代替.

cv2.imshow("window", 0)
四、waitKey函数

下一步使用waitKey函数,这个函数用于等待用户输入,如果用户没有按下键,则继续等待。 里面传入一个整数,表示延迟,一般情况下,显示图片都设置为0,表示按任意键继续。这个函数会返回一个按下按键的ASCII码.

cv2.waitKey(0)
五、destroyWindow和destroyAllWindow函数

最后一般销毁创建的窗口,使用函数destroyWindow或者destroyAllWindows函数。destroyWindow函数传入一个窗口名称,表示销毁指定窗口,destroyAllWindow函数销毁所有窗口。

cv2.destroyAllWindows()