使用 Python 在 OpenCV 中读取图像

 先决条件:OpenCV 基础知识

在本文中,我们将尝试使用 OpenCV(开源计算机视觉)库打开图像。OpenCV 库支持以下类型的文件:

  • Windows 位图 – *.bmp、*.dib
  • JPEG 文件 – *.jpeg、*.jpg
  • 便携式网络图形 – *.png
  • WebP – *.webp
  • Sun 栅格 – *.sr、*.ras
  • TIFF 文件 – *.tiff、*.tif
  • GDAL 支持的栅格和矢量地理空间数据

要在 python 中使用 OpenCV 库,我们需要安装这些库作为先决条件:

  1. Numpy 库 :计算机以矩阵的形式处理图像,其中使用 NumPy,OpenCV 在后台使用它。
  2. OpenCV python : OpenCV 库以前是 cv,但更新版本是 cv2。它用于处理图像和视频。
     

要安装这些库,我们需要在 cmd 中运行这些 pip 命令:

pip install opencv-python
pip install numpy
pip install matplotlib

在 OpenCV 中读取和显示图像的步骤是:

1. 使用 imread() 函数读取图像。

2. 使用 imshow() 函数创建 GUI 窗口并显示图像。

3. 使用函数 waitkey(0) 将图像窗口在屏幕上保持指定的秒数,o 表示直到用户关闭它,它将在屏幕上保持 GUI 窗口。

4. 使用 destroyAllWindows() 函数显示后,从内存中删除图像窗口。

让我们开始读取图像。使用 cv2.
要读取图像,请使用 cv2.imread() 方法。该方法从指定文件加载图片。如果无法读取图像(由于缺少文件、权限不正确、格式不受支持或无效),则此方法返回空矩阵。

语法: cv2.imread(path, flag)

参数:
path:表示要读取的图像路径的字符串。
flag:它指定了图像的读取方式。它的默认值为 cv2。IMREAD_COLOR

返回值:该方法返回从指定文件加载的图片。

注意: 

  1. 图像应该在工作目录中,或者应该给出图像的完整路径。
  2. 默认情况下,OpenCV 以 BGR(蓝、绿和红)格式存储彩色图像。

下面介绍了所有三种类型的标志:

CV2 的。IMREAD_COLOR:指定加载彩色图像。图像的任何透明度都将被忽略。它是默认标志。或者,我们可以为此标志传递整数值 1
CV2 的。IMREAD_GRAYSCALE:指定以灰度模式加载图像。或者,我们可以为此标志传递整数值 0
CV2 的。IMREAD_UNCHANGED:它指定加载图像,包括 Alpha 通道。或者,我们可以为此标志传递整数值 -1


以下代码是使用 OpenCV 和 matplotlib 库函数读取图像并在屏幕上显示图像的实现。

Example #1 (使用 OpenCV) : 

使用的图片是:

 

Python3 语言

输出:

使用 cv2 读取 BGR 格式的图像

我们可以使用 shape 属性查看图像的 shape ,即宽度、高度和通道。

img.shape
Output:
(225, 225, 3)

Matplotlib 库使用 RGB 颜色格式读取彩色图像。下面我们演示了一个使用此库读取图像的示例。
示例#2

使用 cv2 读取图像并使用 matplotlib 显示将以 BGR 格式显示图片。

注意:请参阅 cv2 和 matplotlib 库读取的图像的颜色差异。因为 cv2 使用 BGR 颜色格式,而 matplotlib 使用 RGB 颜色格式。要将 BGR 转换为 RGB,我们可以使用一个函数:

示例#3:

输出:

BGR 颜色格式更改为 RGB 颜色格式

Example #4: 以灰度模式打开

输出:

灰度图像的形状可以使用 shape 属性显示。

img.shape
Output:
(225, 225)

使用 Python 在 OpenCV 中读取图像 – 常见问题解答

如何在 OpenCV Python 中读取图像

要在 Python 中使用 OpenCV 读取图像,请使用该 函数。此函数从指定的文件路径加载图像并将其作为 NumPy 数组返回。如果无法读取图像(由于缺少文件、权限不正确、格式不受支持或无效),则函数返回 .cv2.imread()None

import cv2

# Load an image
image = cv2.imread('path_to_image.jpg')

我们如何使用 OpenCV 在 Python 中显示图像?

要使用 OpenCV 在 Python 中显示图像,请使用该 函数。此函数将创建一个可以显示图像的窗口。窗口会自动适应图像大小。cv2.imshow()

import cv2

image = cv2.imread('path_to_image.jpg')
cv2.imshow('Image Window', image)
cv2.waitKey(0)  # Wait for a key press to close the window
cv2.destroyAllWindows()  # Close the window

在 OpenCV 库中读取图像的方法是什么?

用于读取 OpenCV 库中图像的方法是 。它需要图像文件的路径作为参数,并需要一个指定图像读取方式的标志(可选):cv2.imread()

  • cv2.IMREAD_COLOR:加载彩色图像。将忽略任何透明度(默认)。
  • cv2.IMREAD_GRAYSCALE:以灰度模式加载图像。
  • cv2.IMREAD_UNCHANGED:按原样加载图像,包括 Alpha 通道。
# Example of reading an image in grayscale
gray_image = cv2.imread('path_to_image.jpg', cv2.IMREAD_GRAYSCALE)

如何使用 OpenCV 读取和保存图像

使用 OpenCV 读取图像后,您可以使用该函数保存它 。此函数将图像写入指定文件。cv2.imwrite()

import cv2

# Read an image
image = cv2.imread('path_to_image.jpg')

# Save the image
cv2.imwrite('path_to_output.jpg', image)

如何在 Python 中从路径读取图像

要使用 OpenCV 从 Python 中的路径读取图像,您只需将 函数与图像的路径一起使用即可。确保路径正确,并且 OpenCV 支持图像文件格式。cv2.imread()

import cv2

# Specify the path to your image
image_path = 'path_to_image.jpg'

# Load the image
image = cv2.imread(image_path)

# Check if image was loaded properly
if image is not None:
    cv2.imshow('Loaded Image', image)
    cv2.waitKey(0)
    cv2.destroyAllWindows()
else:
    print("Error loading the image")

OpenCV 提供的这些方法和函数使在 Python 中处理图像变得简单明了,从加载和显示到保存它们。 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

你是不是觉得我很丑

我会继续分享编程资料,学习资料

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值