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

相关推荐
shijuejianceliu6 分钟前
传统规则视觉与嵌入式AI智能相机的技术差异
人工智能·嵌入式硬件·视觉检测·相机
goujunwe23 分钟前
GEO 内容的“可摘录性”打磨技巧:段落、表格、小标题怎么写,方便大模型提取独立答案块
大数据·人工智能
羲云网络1 小时前
GPT Image 2.6 接入指南:Flare、Sunburst 怎么选,编辑失败如何排查
人工智能·python·aigc·图像生成·acedatacloud
张张123y1 小时前
DSH 插件调试避坑:client.js 设置面板、热重载与高频报错排查表
开发语言·javascript·人工智能·开源·ecmascript·后端开发·ai agent
Navigator_Z2 小时前
LeetCode //C - 1317. Convert Integer to the Sum of Two No-Zero Integers
c语言·算法·leetcode
tellmewhoisi3 小时前
深度学习0:数学知识:正态分布4(坐标变换的缩放比例(面积微元变换))
人工智能·深度学习
D e re k ZH3 小时前
C++ 标准库算法全景指南
数据结构·c++·算法
布吉岛的石头3 小时前
Java 程序员第 50 阶段14:灾难性遗忘与回放
人工智能·深度学习·transformer
不吃鱼的羊3 小时前
诊断27解锁dll文件制作(Visual Stdio无法安装版)
人工智能