namedWindow函数
使用opencv创建窗口,需要用到namedWindow函数
def namedWindow(winname, flags=None)
上面的函数第一个参数为窗口名称,第二个为窗口的属性。可选值如下
参数 | 作用 |
---|---|
WINDOW_NORMAL | 用户能够调节窗口大小 |
WINDOW_AUTOSIZE | 根据图像大小显示窗口,大小固定 |
WINDOW_FREERATIO | 调整图像。不考虑其比例 |
WINDOW_KEEPRATIO | 保持图像比例 |
使用该函数创建一个窗口,代码如下
cv2.namedWindow("window", cv2.WINDOW_NORMAL)
resizeWindow函数
创建窗口后设置窗口大小,设置窗口大小要使用resizeWindow
def resizeWindow(winname, width, height)
第一个参数为窗口名字,后面分别为宽和高,使用该函数将窗口设置为宽800,长600
cv2.resizeWindow("window", 800, 600)
imshow函数
使用函数imshow可以显示图像。
def imshow(winname, mat):
第一个参数为窗口名称,如果窗口不存在,那么会默认创建一个窗口,窗口名称就是这里填的窗口名称,第二个参数为图像的矩阵,这里由于没有读入图像,先用0代替
cv2.imshow("window", 0)
waitKey函数
下一步使用waitKey函数,这个函数用于等待用户输入,如果用户没有按下键,则继续等待
def waitKey(delay=None):
里面传入一个整数,表示延迟,一般情况下,显示图片都设置为0,表示按任意键继续。这个函数会返回一个按下按键的ASCII码
key = cv2.waitKey(0)
print(key)
destroyWindow和destroyAllWindow函数
最后一般销毁创建的窗口,使用函数destroyWindow或者destroyAllWindows函数
def destroyWindow(winname)
def destroyAllWindows()
第一个函数传入一个窗口名称,表示销毁指定窗口,第二个函数销毁所有窗口。
完整代码及运行结果
import cv2
cv2.namedWindow("window", cv2.WINDOW_NORMAL)
cv2.resizeWindow("window", 800, 600)
cv2.imshow("window", 0)
key = cv2.waitKey(0)
print(key)
cv2.destroyAllWindows()