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 键关闭窗口。

相关推荐
我星期八休息29 分钟前
网络编程—网络层
开发语言·前端·网络·人工智能·智能路由器
逻辑君44 分钟前
ANNA 7.2 方块机器人实验技术报告
人工智能·深度学习·机器学习·机器人
菜鸟‍1 小时前
【论文学习】Medical Image Analysis 2024 || 医学图像分割中失败检测方法的比较基准研究:揭示置信度聚合的作用
人工智能·学习
AI导出鸭1 小时前
怎么让千问做表格?AI导出鸭苹果版将千问输出的管道表格智能解析为二维结构,一键导出为Excel或Word标准表格。
人工智能·chatgpt·word·excel·ai导出鸭
陈嘿萌1 小时前
ECCV 2026 | 南开&OPPO开源 ExpoMotion:首个大规模动态多曝光融合数据集
人工智能·计算机视觉·图像融合·南开大学·新数据集·expomotion·多曝光融合
weixin_BYSJ19871 小时前
springboot酒店管理系统--附源码27436
java·spring boot·python·随机森林·贪心算法·eclipse·django
嵌入式老牛1 小时前
三相电气量采集模块设计(三)非同步采样时的精度提升
算法·精度·计量
zyplayer-doc1 小时前
zyplayer-doc企业知识库能做什么:从文档创建、权限管理到AI问答的完整能力
大数据·javascript·数据库·人工智能·pdf·word
IT_陈寒1 小时前
为什么我的Java Stream流操作会吃掉内存?
前端·人工智能·后端
babe小鑫2 小时前
人工智能专业方向梳理的实用清单
人工智能