本小节,我们将学习在Python语言中利用OpenCV库来实现图片的读取、显示、保存,所有的这些图片都是一个numpy.ndarray,这三种操作都过cv2.imread()、cv2.imshow()、cv2.imwrite()三个函数来实现,同时在文末,简要介绍了使用Matplotlib来显示图片。本文所使用opencv为opencv3.2版本,图片如下:
1. 读取图片
在OpenCV中使用cv2.imread()函数来加载图片,该函数的形式如下:
cv2.imread(path, flags)
参数意义如下:
- path: 该参数制定图片的路径,可以使用相对路径,也可以使用绝对路径;
- flags:指定以何种方式加载图片,有三个取值:
- cv2.IMREAD_COLOR:读取一副彩色图片,图片的透明度会被忽略,默认为该值,实际取值为1;
- cv2.IMREAD_GRAYSCALE:以灰度模式读取一张图片,实际取值为0
- cv2.IMREAD_UNCHANGED:加载一副彩色图像,透明度不会被忽略。
如果给定的图片路径不对,该函数不会抛出异常,而是返回一个None,如果给定正确的图片路径,将返回一个[height, width, channel]的numpy.ndarray对象,height表示图片高度,width表示图片宽度,channel表示图片的通道。
import numpy as np
import cv2
img = cv2.imread("pic.jpg")
# img = cv2.imread("pic