图像融合¶
1. 图像融合¶
In [1]:
import cv2 #opencv的缩写为cv2
import matplotlib.pyplot as plt # matplotlib库用于绘图展示
import numpy as np # numpy数值计算工具包
# 魔法指令,直接展示图,Jupyter notebook特有
%matplotlib inline
1.1 图像变换¶
In [2]:
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)
In [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)
Out[3]:
(414, 500, 3)
1.2 图像融合¶
In [4]:
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)
Out[4]:
<matplotlib.image.AxesImage at 0x2108bfff668>