一、创建窗口
前诉
cv2.imshow()函数在显示图像时,若指定窗口不存在,则会按默认设置创建一个窗口,这个窗口的大小由图像决定且不能通过拉伸窗口来改变大小。若想通过拉伸改变窗口大小,就需先创建一个可以调整大小的窗口。
相关代码
cv2.namedWindow(winname[,flags])
参数说明
winnname:窗口名,若已存在该窗口名,函数无效。
flags:窗口属性常量,常用常量如下。
cv2.WINDOW_NORMAL:可调节窗口
cv2.WINDOW_AUTOSIZE:默认值,不可调节窗口,大小由图像决定
cv2.WINDOW_FULLSCREEN:窗口将全屏显示
cv2.WINDOW_GUI_EXPANDED:窗口中可显示状态栏和工具栏
测试代码
import cv2 as cv
cv.namedWindow('win1', cv.WINDOW_NORMAL) # 创建一个可调节窗口win1
img=cv.imread('Rem.png',cv.IMREAD_REDUCED_COLOR_2) # 读取图片并将其大小改为1/2
cv.imshow('win1', img) # 在win1窗口显示图片
cv.imshow('win2', img) # 在默认设置的win2窗口显示图片
cv.waitKey(0) # 等待任意键输入
cv.destroyAllWindows() # 关闭所有窗口
运行结果
总结
创建的可调节窗口可以用鼠标拉伸来改变大小,无限制;默认创建的不行哈。
二、关闭窗口
前诉
除了用 cv2.destroyAllWindows() 关闭(所有)窗口外,还可以用 cv2.destroyWindow(winname) 关闭(指定)窗口
相关代码
cv2.destroyWindow(winname)
参数说明
winname:窗口名
测试代码
import cv2 as cv
import numpy as np
cv.namedWindow('win1', cv.WINDOW_NORMAL) # 创建一个可调节窗口win1
img=cv.imread('Rem.png',cv.IMREAD_REDUCED_COLOR_2) # 读取图片并将其大小改为1/2
cv.imshow('win1', img) # 在win1窗口显示图片
cv.imshow('win2', img) # 在默认设置的win2窗口显示图片
cv.waitKey(0) # 等待任意键输入
cv.destroyWindow('win1') # 关闭指定窗口win1
cv.destroyAllWindows() # 关闭所有窗口
三、调整窗口大小
前诉
手动调整窗口大小方便快捷,但是比起通过代码调整窗口大小来说,调整范围差了点
相关代码
cv2.resizeWindow(winname,size)
参数说明
winname:窗口名
size:窗口大小的二元组,形式为(长,宽)
测试代码
import cv2 as cv
cv.namedWindow('win1', cv.WINDOW_NORMAL) # 创建一个可调节窗口win1
cv.namedWindow('win2', cv.WINDOW_NORMAL) # 创建一个可调节窗口win2
img = cv.imread('Rem.png', cv.IMREAD_REDUCED_COLOR_2) # 读图像,并将大小改为原来的1/2
cv.resizeWindow('win2', (500, 200)) # 修改窗口Win2大小
cv.imshow('win1', img) # 在窗口win1显示图片
cv.imshow('win2', img) # 在窗口win2显示图片
cv.waitKey(0)
cv.destroyAllWindows()
运行结果
2023/08/05/1:22
OpenCV学习笔记,晚睡晚起==挨骂