📜  Python OpenCV 基础 0: imshow 显示图像(1)

📅  最后修改于: 2023-12-03 14:46:01.586000             🧑  作者: Mango

Python OpenCV 基础 0: imshow 显示图像

简介

OpenCV 是一个功能强大的开源计算机视觉库,提供了许多图像和视频处理功能。在使用 OpenCV 进行图像处理时,我们经常需要显示图像以观察处理结果。imshow 是 OpenCV 中用于显示图像的函数。

本文将介绍如何使用 Python OpenCV 的 imshow 函数来显示图像,并提供了一些示例代码和使用技巧。

安装

在使用 imshow 函数前,需要先安装 OpenCV 并导入相关库。可以使用以下命令来安装 OpenCV:

pip install opencv-python

安装完成后,需在 Python 脚本中导入 OpenCV 库:

import cv2
使用 imshow 函数显示图像

imshow 是 OpenCV 中用于显示图像的函数。它接受两个参数,第一个参数为窗口名称,第二个参数为要显示的图像。以下是一个简单示例代码:

import cv2

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

# 创建窗口并显示图像
cv2.imshow('Image', image)

# 等待用户关闭窗口
cv2.waitKey(0)

# 销毁窗口
cv2.destroyAllWindows()

以上代码中,通过 imread 函数读取了一张图像,并使用 imshow 函数显示在一个名为 "Image" 的窗口中。waitKey(0) 是一个等待用户按下键盘按键的函数,参数 0 表示无限等待,直到用户关闭窗口。最后通过 destroyAllWindows 函数销毁窗口。

显示多个图像

除了显示单个图像,imshow 还可以用于显示多个图像。以下是一个示例代码:

import cv2

# 读取多个图像
image1 = cv2.imread('image1.jpg')
image2 = cv2.imread('image2.jpg')

# 创建窗口并显示图像
cv2.imshow('Image 1', image1)
cv2.imshow('Image 2', image2)

# 等待用户关闭窗口
cv2.waitKey(0)

# 销毁窗口
cv2.destroyAllWindows()

以上代码中,我们读取了两张图像,并在两个不同的窗口中显示了它们。可以使用不同的窗口名称来区分每个图像窗口。

图像调整和交互

imshow 函数提供了一些图像调整和交互的功能。以下是一些常用的功能示例:

import cv2

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

# 显示图像并调整窗口大小
cv2.namedWindow('Image', cv2.WINDOW_NORMAL)
cv2.imshow('Image', image)

# 设置窗口大小
cv2.resizeWindow('Image', 800, 600)

# 保存图像
cv2.imwrite('image_output.jpg', image)

# 等待用户按下 's' 键保存图像
key = cv2.waitKey(0)
if key == ord('s'):
    cv2.imwrite('image_saved.jpg', image)

# 销毁窗口
cv2.destroyAllWindows()

以上代码中,首先使用 namedWindow 函数创建了一个具有可调整大小的窗口,接着使用 resizeWindow 函数设置了窗口的大小。可以使用 imwrite 函数将图像保存到文件中。通过监听键盘输入,可以在用户按下 's' 键时保存图像。

总结

本文介绍了 Python OpenCV 中使用 imshow 函数显示图像的基础知识。通过配合其他函数和技巧,可以对图像进行各种处理和交互。希望本文能够帮助你开始使用 OpenCV 进行图像处理和显示。