Python OpenCV两张图片融合
原文链接 https://hlthu.github.io/opencv/2016/06/10/python-opencv-8.html
注:以下为加速网络访问所做的原文缓存,经过重新格式化,可能存在格式方面的问题,或偶有遗漏信息,请以原文为准。
本节实现的是使用OpenCV里自带的函数,将两幅图片按照特定的比例融合
实现过程
引用与读取图片
不再赘述,代码如下。
import cv2
import numpy
img1 = cv2.imread('test1.png')
img2 = cv2.imread('test2.png')
融合图片
利用addWeighted()函数,将图片1的比例设置为0.6,图片2的0.4,如下:
mg_mix = cv2.addWeighted(img1, 0.6, img2, 0.4, 0)
显示图片
分别显示两幅原图和融合后的图片:
cv2.imshow('img1', img1)
cv2.imshow('img2', img2)
cv2.imshow('img_mix', img_mix)
cv2.waitKey(0)
cv2.destroyAllWindows()
源代码
整个程序的源代码如下:
# created by Huang Lu
# 28/08/2016 13:44:54
# Department of EE, Tsinghua Univ.
import cv2
import numpy as np
img1 = cv2.imread('test1.png')
img2 = cv2.imread('test2.png')
img_mix = cv2.addWeighted(img1, 0.6, img2, 0.4, 0)
cv2.imshow('img1', img1)
cv2.imshow('img2', img2)
cv2.imshow('img_mix', img_mix)
cv2.waitKey(0)
cv2.destroyAllWindows()
也可以参考我的GitHub上的,点击这里。
运行结果
在命令行进入该源程序所在目录后,运行python main.py
后即可显示结果。显示结果如下:
参考
- OpenCV-Python-Toturial-中文版.pdf
- https://github.com/hlthu/Python-OpenCV-Learn/tree/master/Image_Mix/