Python OpenCV两张图片融合

2016-06-10 Lu Huang 更多博文 » 博客 » GitHub »

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/