imread(path, flag): 使用imread可以读取图片, 默认读取的是彩色图片.
返回值 MAT类型矩阵
示例代码:
# 导入opencv包
import cv2
import matplotlib.pyplot as plt
import numpy as np
# 读取图片
img = cv2.imread('./cat.jpeg')
发现这个猫的样子没变, 但是颜色不太对, 这是因为OpenCV读取的图片颜色通道是按照BGR(蓝绿红)排列的, 一般图片通道都是按照RGB来排列的.为了正常的显示猫的图片, 我们要用OpenCV的图像显示方法:
cv2.imshow('cat', img)
cv2.waitKey(0)
cv2.destroyAllWindows()
imwrite(path, img):data 使用imwrite保存图片.path:保存路径 imgdata:图片读取到的矩阵变量
import cv2
cv2.namedWindow('img', cv2.WINDOW_NORMAL)
cv2.resizeWindow('img', 320, 240)
img = cv2.imread("./cat.jpeg")
cv2.imshow('img', img)
# 利用while循环优化退出逻辑
while True:
key = cv2.waitKey(0)
if(key & 0xFF == ord('q')):
break
elif(key & 0xFF == ord('s')):
cv2.imwrite("./123.png", img)
else:
print(key)
cv2.destroyAllWindows()
使用配合 图片读取常见的按键循环退出逻辑,见上
cv2.destroyAllWindows()这个其实不写也会退出,但是是总进程的退出,不建议这样