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

相关推荐
数据分析螺丝钉6 分钟前
力扣第218题“天际线问题”
经验分享·python·算法·leetcode·面试
2402_8575893615 分钟前
逐步深入:掌握sklearn中的增量学习
人工智能·学习·sklearn
云微客AI剪辑矩阵系统32 分钟前
矩阵新玩法,云微客AI矩阵系统开启新营销大门
人工智能·ai·矩阵·云微客
lose and dream_1139 分钟前
【 2024!深入了解 大语言模型(LLM)微调方法(总结)】
大数据·人工智能·opencv·机器学习·语言模型·自然语言处理·架构
十年一梦实验室1 小时前
【C++】相机标定源码笔记- RGB 相机与 ToF 深度传感器校准类
开发语言·c++·笔记·数码相机·计算机视觉
IT·陈寒1 小时前
Kotlin vs Java:深入解析两者之间的最新差异与优劣(全面指南)
java·python·kotlin
x-cmd1 小时前
[240704] 苹果获得 OpenAI 董事会观察员席位 | mySCADA myPRO 发现可在设备上远程执行代码漏洞
人工智能·安全·chatgpt·微软·openai·cve·苹果
半截詩1 小时前
力扣Hot100-24两两交换链表中的节点(三指针)
算法
庞德公1 小时前
解锁Diffusion Model: 初识Stable Diffusion、DALL-E、Imagen
人工智能·stable diffusion·imagen·dall-e
AI大模型-王哥1 小时前
神经网络入门:从零到训练
人工智能·深度学习·神经网络·大模型·ai大模型