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 天前
我的“龙虾”罢工了!正好对比下GLM、MiniMax、Kimi 3家谁更香
人工智能
风象南1 天前
很多人说,AI 让技术平权了,小白也能乱杀老师傅 ?
人工智能·后端
董董灿是个攻城狮1 天前
大模型连载1:了解 Token
人工智能
花酒锄作田1 天前
使用 pkgutil 实现动态插件系统
python
RoyLin1 天前
沉睡三十年的标准:HTTP 402、生成式 UI 与智能体原生软件的时代
人工智能
灵感__idea1 天前
Hello 算法:众里寻她千“百度”
前端·javascript·算法
needn1 天前
TRAE为什么要发布SOLO版本?
人工智能·ai编程
毅航1 天前
自然语言处理发展史:从规则、统计到深度学习
人工智能·后端
前端付豪1 天前
LangChain链 写一篇完美推文?用SequencialChain链接不同的组件
人工智能·python·langchain
ursazoo1 天前
写了一份 7000字指南,让 AI 帮我消化每天的信息流
人工智能·开源·github