import cv2 #opencv的缩写为cv2
import matplotlib.pyplot as plt # matplotlib库用于绘图展示
import numpy as np # numpy数值计算工具包
# 魔法指令,直接展示图,Jupyter notebook特有
%matplotlib inline
img_cat = cv2.imread('01_Picture/01_cat.jpg')
img_dog = cv2.imread('01_Picture/03_dog.jpg')
print(img_cat.shape)
print(img_dog.shape)
img_cat+img_dog # 不同数据大小不能执行数值计算操作
(414, 500, 3)
(429, 499, 3)
---------------------------------------------------------------------------
ValueError Traceback (most recent call last)
<ipython-input-2-954c1b757e44> in <module>
4 print(img_cat.shape)
5 print(img_dog.shape)
----> 6 img_cat+img_dog # 不同数据大小不能执行数值计算操作
ValueError: operands could not be broadcast together with shapes (414,500,3) (429,499,3)
print(img_cat.shape)
print(img_dog.shape)
img_dog = cv2.resize(img_dog,(500,414))
img_dog.shape
(414, 500, 3)
(429, 499, 3)
(414, 500, 3)
res = cv2.addWeighted(img_cat,0.4,img_dog,0.6,0) # img_cat 的权重为 0.4,img_dog 的权重为 0.6
print(img_dog.shape)
plt.imshow(res)
(414, 500, 3)
<matplotlib.image.AxesImage at 0x2108bfff668>

import cv2 #opencv的缩写为cv2
import matplotlib.pyplot as plt # matplotlib库用于绘图展示
import numpy as np # numpy数值计算工具包
# 魔法指令,直接展示图,Jupyter notebook特有
%matplotlib inline
img = cv2.imread('01_Picture/01_cat.jpg')
res = cv2.resize(img,(0,0),fx=3,fy=1) # (0,0)表示不确定具体值,fx=3 相当于行像素 x 乘 3,fy=1 相当于 y 乘 1
plt.imshow(res)
<matplotlib.image.AxesImage at 0x28bb5703630>

res = cv2.resize(img,(0,0),fx=1.5,fy=1.5) # 同比例放缩
plt.imshow(res)
<matplotlib.image.AxesImage at 0x2948be20ef0>
