PythonOpenCV-图形用户界面-窗口控制
1. 创建窗口
在OpenCV中,用cv2.imshow()函数显示图像时,如果指定的窗口不存在则会自动创建,窗口大小由图像大小决定,且不能更改。
可用cv2.namedWindow()函数创建窗口。
函数原型
cv2.namedWindow(winname[,flags])
其中,winname为窗口名称,flags为表示窗口属性的常量,如果已经存在指定名称的窗口,则函数无效。
常见窗口属性常量
cv2.WINDOW_NORMAL |
用户可以调整窗口大小,无限制 |
cv2.WINDOW_AUTOSIZE |
默认值。窗口大小由显示的图像决定 |
cv2.WINDOW_FULLSCREEN |
全屏显示 |
cv2.WINDOW_GUI_EXPANDED |
窗口可显示状态栏和工具栏 |
cv2.WINDOW_FREERATIO |
窗口将尽可能多地显示图片,无比例限制 |
cv2.WINDOW_KEEPRATIO |
窗口由图像的比例决定 |
代码示例
import cv2 as cv import numpy as np img = np.zeros((250, 320), dtype=np.uint8) # 创建黑色背景图 img[70:150, 110:210] = 255 # 将对应区域设置为白色 cv.namedWindow("nanWindow1", cv.WINDOW_NORMAL) # 创建普通窗口 cv.imshow("nanWindow1", img) cv.waitKey(0)
运行结果
2. 关闭窗口
OpenCV中,提供了以下两种关闭窗口的函数
1. cv2.destroyAllWindows()
2. cv2.destroyWindow(winname)
3. 调整窗口大小
函数原型
cv2.resizeWindow(winname, size)
代码示例
import cv2 as cv img = cv.imread('lena.jpg',cv.IMREAD_REDUCED_COLOR_2) size = img.shape cv.imshow('lena', img) key = cv.waitKey(500) cv.resizeWindow('lena', (size[0]//2, size[1]//2)) # 修改窗口大小 //表示向下取整 cv.waitKey(0)
/*-------------------------------------------------------------------------------------------------------
笔者说明:
该笔记来源于本人学习Python + OpenCv时的资料,
分享出来只是为了供大家学习,并且为了自己以后想要用的时候方便寻找。
时间:2023年4月15日
------------------------------------------------------------------------------------------------------------*/