Python调用OpenCV读显写

时间:2023-12-04 18:54:56

OpenCV提供了python的接口,而且很重要的一点是python下的很多接口名与C++的接口名是一样的,这一篇先记录python调用OpenCV去读取图像、显示图像和保存图像。

1、OpenCV读取图像cv2.imread

与C++下的接口一样,Python下的读图的接口也还是imread():

img = cv2.imread("D:\images\lena.jpg", flags=0)

如果路径是错误的话,OpenCV是不会提示的错误的。后面的flags是读取图像的顺序,这里有三个参数:

  1. cv2.IMREAD_COLOR:以三通道彩色图读取;

  2. cv2.IMREAD_GRAYSCALE:以单通道灰度图读取;

  3. 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()

冻水洗我若之何。

太上糜散我若之何。