OpenCV 显示窗体常用操作

目录

一、概述

二、常用窗口显示方法

[2.1 显示窗口定时关闭](#2.1 显示窗口定时关闭)

2.1.1代码

[2.1.2 代码解释](#2.1.2 代码解释)

[2.2 按键Esc关闭窗口](#2.2 按键Esc关闭窗口)

2.2.1代码实现

[2.2.2 代码解释](#2.2.2 代码解释)


一、概述

在项目或代码测试中,总是会遇到结合opencv显示窗体来显示图像,便于观察图像处理效果,于是记录一下,免得忘记,用的东西实在是太多了,编程语言也用的太混了。好在我头脑比较清晰,因为一个都记不住,所以还是记一下吧。

二、常用窗口显示方法

2.1 显示窗口定时关闭

2.1.1代码

在 OpenCV 中,你可以使用 cv2.imshow 函数显示图像,并设置一个固定的窗口大小。随后,可以使用 cv2.waitKey 函数等待一定的时间(例如,1秒)后自动关闭窗口。下面是一个示例代码:

python 复制代码
import cv2

# 读取图像
image = cv2.imread('path_to_your_image.jpg')

# 设置窗口大小
window_name = 'Fixed Size Window'
cv2.namedWindow(window_name, cv2.WINDOW_NORMAL)
cv2.resizeWindow(window_name, 1200, 800)

# 显示图像
cv2.imshow(window_name, image)

# 等待1秒(1000毫秒)后关闭窗口
cv2.waitKey(1000)
cv2.destroyAllWindows()

2.1.2 代码解释

  1. 使用 cv2.imread 函数读取图像。
  2. 使用 cv2.namedWindow 函数创建一个可调整大小的窗口。
  3. 使用 cv2.resizeWindow 函数设置窗口大小为 1200x800。
  4. 使用 cv2.imshow 函数显示图像。
  5. 使用 cv2.waitKey(1000) 函数等待 1 秒(1000 毫秒)。
  6. 使用 cv2.destroyAllWindows 函数关闭所有打开的窗口。

将 'path_to_your_image.jpg' 替换为你实际的图像路径即可。

2.2 按键Esc关闭窗口

2.2.1代码实现

python 复制代码
import cv2

# 读取图像
image = cv2.imread('path_to_your_image.jpg')

# 设置窗口大小
window_name = 'Fixed Size Window'
cv2.namedWindow(window_name, cv2.WINDOW_NORMAL)
cv2.resizeWindow(window_name, 1200, 800)

# 显示图像
cv2.imshow(window_name, image)

# 等待用户按下 ESC 键(ASCII 码 27)关闭窗口
while True:
    if cv2.waitKey(1000) == 27:  # 每 1 秒检查一次
        break

cv2.destroyAllWindows()

2.2.2 代码解释

  1. 使用 cv2.imread 函数读取图像。
  2. 使用 cv2.namedWindow 函数创建一个可调整大小的窗口。
  3. 使用 cv2.resizeWindow 函数设置窗口大小为 1200x800。
  4. 使用 cv2.imshow 函数显示图像。
  5. 使用 cv2.waitKey(1000) 函数每秒检查一次键盘输入。如果检测到 ESC 键(ASCII 码 27)被按下,跳出循环。
  6. 使用 cv2.destroyAllWindows 函数关闭所有打开的窗口。

这样,窗口将保持打开状态,直到用户按下 ESC 键关闭窗口。

相关推荐
拜小白1 小时前
【论文解读】PanoContext:全景场景理解的全房间 3D 上下文模型
计算机视觉·全景图
YOLO数据集集合1 小时前
小麦穗检测数据集 | 小麦穗检测 植物表型 密集目标检测 农业AI9182期
人工智能·yolo·目标检测·机器学习·目标跟踪·小麦穗
Keep_Trying_Go1 小时前
MobileSAMv2分割算法详解
图像处理·人工智能·计算机视觉
kobe_OKOK_6 小时前
__getattr__和__getattribute__如何用
python
java资料站7 小时前
十一、Spring AI Alibaba · 高级 · 多智能体(Multi-agent)
人工智能·spring·microsoft
richard_yuu7 小时前
OpenCV 实战第 9 篇:Template Matching vs 特征匹配,ROI 定位该选哪个
opencv
全栈弄潮儿7 小时前
Python实战第2期: 变量与数据类型
后端·python·agent
长沙三为智能科技7 小时前
家政小程序门店运营模块设计:会员、下单、派单、结算四段链路的落地拆解
python·小程序·内容运营
2601_955662467 小时前
情感解说视频如何提升感染力?配音细节很关键
人工智能·音视频·语音识别·视频