AI 日报

OpenCV入门教程:图片读取、保存和显示

  • By admin
  • Jul 20, 2023 - 2 min read



一、图片读取

在使用OpenCV处理图片之前,我们首先需要将图片读取到内存中。OpenCV提供了一个很方便的函数imread()来实现这一功能。

使用imread()函数,我们可以将图片以各种不同的色彩模式载入到程序中。常见的色彩模式有:

  • cv2.IMREAD_COLOR:彩色图片,默认为这种模式,将会以RGB(红绿蓝)三通道的形式读入图片。

  • cv2.IMREAD_GRAYSCALE:灰度图片,将会将图片以灰度的形式读入,即只有一个通道。

  • cv2.IMREAD_UNCHANGED:包含透明度的图片,如果图片中存在透明度信息,将会以四通道的形式读入。

读取图片的代码示例如下:

import cv2

# 读取彩色图片
img_color = cv2.imread('image.jpg', cv2.IMREAD_COLOR)

# 读取灰度图片
img_gray = cv2.imread('image.jpg', cv2.IMREAD_GRAYSCALE)

# 读取包含透明度的图片
img_alpha = cv2.imread('image.png', cv2.IMREAD_UNCHANGED)

二、图片保存

在使用OpenCV处理图片后,我们通常需要将处理结果保存到本地文件中,以便后续使用或展示。

OpenCV提供了一个imwrite()函数来实现图片的保存。我们需要指定保存的文件名和保存的图片数据。

保存图片的代码示例如下:

import cv2

# 读取图片
img = cv2.imread('image.jpg', cv2.IMREAD_COLOR)

# 操作...

# 保存图片
cv2.imwrite('result.jpg', img)

三、图片显示

OpenCV提供了一个imshow()函数用于显示图片。这个函数会创建一个窗口,并将图片渲染到窗口中。

需要注意的是,因为OpenCV是一个基于C/C++的库,所以在Python中使用imshow()函数之前,必须先调用namedWindow()函数创建窗口。

图片显示的代码示例如下:

import cv2

# 读取图片
img = cv2.imread('image.jpg', cv2.IMREAD_COLOR)

# 创建窗口
cv2.namedWindow('image')

# 显示图片
cv2.imshow('image', img)

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

# 销毁窗口
cv2.destroyAllWindows()