01 图像的读取、显示和保存
OpenCV提供了cv2模块,用于进行图像的处理操作。
OpenCV提供了cv2.imread()函数用于进行图像的读取操作。该函数的基本格式为:
retval = cv2.imread(filename[, flags])
- [retval] 是返回值,其值是读取到的图像。
- [filename] 是要读取图像的完整文件名。
- [flags] 是读取标记,用来控制读取文件的类型。部分常用的标记值如表3-1所示,其中第一列的值与第三列的数值表示的含义一致。
- 例3-1 使用cv2.imread()函数读取一幅图像
代码如下:
import cv2 as cvimage = cv2.imread("F:/图片.jpg") # 读取lena图像print(image)
运行代码会得到lena图像的像素值,如图3-3所示。
▲图3-3 lena图像部分像素值
在图像处理过程中,有时会根据需要对通道进行拆分与合并。在OpenCV中提供了split()和merge()函数对图像进行拆分与合并。下面对这两个函数进行介绍。
- split()拆分函数
函数split()可以拆分图像的通道,例如BGR图像的三个通道。其一般格式如下:
b,g,r = cv2.split(img)
其中:
b、g、r分别是B通道、G通道、R通道的图像信息。
img是要拆分的图像。
例3-4 编写程序,使用split()函数对图像进行拆分
import cv2 as cv
image = cv.imread("F:/pic/test.png")
b,g,r = cv.split(image) # 拆分图像通道分为b,g,r三个通道
cv.imshow("b",b) # 显示b通道的图像信息
cv.imshow("g",g) # 显示g通道的图像信息
cv.imshow("r",r) # 显示r通道的图像信息
cv.imshow("image&#