OpenCV提供了python的接口,而且很重要的一点是python下的很多接口名与C++的接口名是一样的,这一篇先记录python调用OpenCV去读取图像、显示图像和保存图像。
1、OpenCV读取图像cv2.imread
与C++下的接口一样,Python下的读图的接口也还是imread():
img = cv2.imread("D:\images\lena.jpg", flags=0)
如果路径是错误的话,OpenCV是不会提示的错误的。后面的flags是读取图像的顺序,这里有三个参数:
cv2.IMREAD_COLOR:以三通道彩色图读取;
cv2.IMREAD_GRAYSCALE:以单通道灰度图读取;
cv2.IMREAD_UNCHANGED:读取图像的时候会包含一个alpha 通道;
2、OpenCV显示图像cv2.imshow()
OpenCV显示图像之后记得用cv2.waitKey(0),不然一般就是一闪而过,然后可以调用cv2.destroyAllWindows()来销毁创建的窗口。显示图像的时候这样做是窗口不可调整的,因为其参数默认设置为cv2.WINDOW_AUTOSIZE,我们可以通过cv2.namedWindow('image', cv2.WINDOW_NORMAL)来创建一个窗口再显示图像,这个时候窗口是可以调整大小的,并且图像是会随着窗口变化而变化的。
3、OpenCV保存图像cv2.imwrite()
cv2.imwrite()就简单点,就是传入图像保存路径和图像就可以了。
一个完整的小代码:
import numpy as np
import cv2
img = cv2.imread("D:\images\lena.jpg", flags=0)
cv2.namedWindow('image', cv2.WINDOW_AUTOSIZE)
cv2.imshow('image',img)
cv2.imwrite("lena.bmp", img)
cv2.waitKey(0)
cv2.destroyAllWindows()
冻水洗我若之何。
太上糜散我若之何。