1、窗口控制
1.1 创建窗口
cv2.imshow()函数在显示图像时,指定的窗口如果不存在,则会按默认设置创建一个窗口,窗口大小由图像大小决定,且不能更改。
cv2.nameWindow()函数用于创建窗口,格式如下:
cv2.namedWindow(window_name, flag)
【参数说明】
- window_name:窗口名称
- flag:窗口属性
常用的属性:
- cv2.WINDOW_NORMAL:用户可以调整窗口大小,无限制。
- cv2.WINDOW_AUTOSIZE:默认值,用户无法调整窗口大小,窗口大小由显示的图像决定。
- cv2.WINDOW_FULLSCREEN:窗口将全屏显示。
- cv2.WINDOW_GUI_EXPANDED:窗口中可显示状态栏和工具栏。
- cv2.WINDOW_FREERATIO:窗口将尽可能多地显示图片(无比例限制)。
- cv2.WINDOW_KEEPRATIO:窗口由图像的比例决定。
示例:
import numpy
import cv2
img=numpy.zeros((240,320),dtype=numpy.uint8) #创建黑色图像
img[70:170,110:210]=255 #设置白色区域
cv2.namedWindow('test3-1',cv2.WINDOW_NORMAL) #创建普通窗口
cv2.imshow('test3-1',img) #在窗口中显示图像
cv2.waitKey(0)
【运行结果】
1.2 关闭窗口
OpenCV两个用于关闭窗口的函数:
(1)关闭所有窗口
cv2.destroyAllWindows()
(2)关闭制定窗口
cv2.destroyWindow (winname)
1.3 调整窗口尺寸
cv2.resizeWindow()函数用于更改窗口大小,其基本格式如下:
cv2.resizeWindow(winname,size)
【参数说明】
- winname:窗口名称
- size:表示窗口大小的二元组
import cv2
img=cv2.imread('lena.jpg') #读取图像
s=img.shape
cv2.imshow('lena',img) #显示图像
key=cv2.waitKey(500)
cv2.resizeWindow('lena',(s[0]//2,s[1]//2))
cv2.waitKey(0)