OpenCV入门教程:图片读取、保存和显示
一、图片读取
在使用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()