别人没那么重要,我也没那么重要,好好活着,把能做的小事做好,够不到的东西就放弃,承认就好。做一个心情好能睡着的人,你所有事情都会在正轨上。

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日

------------------------------------------------------------------------------------------------------------*/

posted @ 2023-04-15 11:31  一路狂奔的乌龟  阅读(1095)  评论(0)    收藏  举报
返回顶部