Opencv基础操作

Opencv基础操作

读取图像

# 导入必要的包
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")

缩放图像

使用cv2.resize(src,)缩放(打开函数帮助)

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)

你可能感兴趣的:(Python计算机视觉,opencv,计算机视觉,python)