# 导入必要的包
import numpy as np
import matplotlib.pyplot as plt
%matplotlib inline
# 导入opencv
import cv2
cv2.imread()打开图片
# 使用opencv的imread方法,打开图片
img = cv2.imread('./img/cat.jpg')
cv2.imshow(窗口名称,img)显示图片
cv2.imshow('display image',img)
jupyterlab显示图片(选学)
# 将OpenCV BGR 转换成RGB,cv2.COLOR_可以看到更多转换形式
img_fixed = cv2.cvtColor(img,cv2.COLOR_BGR2RGB)
# 显示正常了
plt.imshow(img_fixed)
以灰度模式读取图片
# 另外,我们再读取图片时也可以以灰度模式读取
img_gray = cv2.imread('./img/cat.jpg',cv2.IMREAD_GRAYSCALE)
#此时图片就只有两个维度,没有颜色通道
jupyterlab显示灰度图(选学)
# 显示这个灰度图
plt.imshow(img_gray,cmap="gray")
img_resize = cv2.resize(img_fixed,(1000,300))
cv2.flip(src,coed)#code可以取:0表示垂直翻转、1表示水平翻转,-1表示水平垂直都翻转
img_flip = cv2.flip(img_fixed,-1)
非常要注意的是,如果是在jupyter-lab中操作,很有可能R、G、B的三通道顺序被调整过,在保存前必须转换为BGR的标准opencv格式,才能使用opencv的写入操作
# 先将颜色通道顺序调回OpenCV的形式
img_save = cv2.cvtColor(img_flip,cv2.COLOR_RGB2BGR)
# 写入numpy格式的图片
cv2.imwrite('./img_flip.jpg',img_save)
# 创建一个纯黑色图,纯黑色就是图片的元素全部为0,这里给一个数据类型为Int16
black_img = np.zeros(shape=(800,800,3),dtype=np.int16)