一、代码部分
代码如下(示例):
#图像融合
import cv2 as cv#opencv BGR
import matplotlib.pyplot as plt #包导入
import numpy as np
#
img_cat=cv.imread('C:/Users/akaak/Pictures/OpenCV/cat.png')
img_dog=cv.imread('C:/Users/akaak/Pictures/OpenCV/dog.png')
cv.imshow("cat",img_cat)
cv.waitKey(0) #等待时间 毫秒级
cv.destroyAllWindows()
cv.imshow("dog",img_dog)
cv.waitKey(0) #等待时间 毫秒级
cv.destroyAllWindows()
#print(img_cat + img_dog)
#ValueError: operands could not be broadcast together with shapes (415,502,3) (421,489,3)
img_dog = cv.resize(img_dog, (502, 415))
print("把狗变成同猫尺寸的",img_dog.shape)
res = cv.addWeighted(img_cat, 0.4, img_dog, 0.6, 0)
cv.imshow("res",res)
cv.waitKey(0) #等待时间 毫秒级
cv.destroyAllWindows()
res1 = cv.resize(img_cat, (0, 0), fx=2, fy=2)
cv.imshow("res1",res1)
cv.waitKey(0) #等待时间 毫秒级
cv.destroyAllWindows()
res2 = cv.resize(img_cat, (0, 0), fx=1.5, fy=1.5)
cv.imshow("res2",res2)
cv.waitKey(0) #等待时间 毫秒级
cv.destroyAllWindows()
二、运行结果
总结
学习了将两个不同的图片融合变成一个新的合成图片,以及对一幅图进行压缩与放放大。