利用Python进行图像的加法,图像混合(附代码)

yipeiwu_com7年前Python基础

一、图像的加法

图像相加可以直接利用numpy模块进行相加,也可以采用opencv里面函数进行相加,

注意事项:相加的图像类型、大小必须相同

具体代码如下:

# -*- coding: utf-8 -*-
import cv2
import numpy as np
img=cv2.imread('4.jfif')
 
x = np.uint8([200])
y = np.uint8([10])
print cv2.add(x,y)  # 200+10 = 210 
 
print x+y       # 210

二、图像混合(不同权重的图像相加)

上式中为第一张图片image1的比重因子,Image为合成后的图像。为常数(个人理解为增加图像的亮度)

注意事项:其实质为图像的加法,要求图像类型大小均相同。

opencv中利用cv2.addWeighted()进行图像混合,权重不同,会得到不同的透明图像。

具体示例如下所示:

# -*- coding: utf-8 -*-
import cv2
import numpy as np
 
img1=cv2.imread('shu1.jpg')
img2=cv2.imread('shu2.jpg')
 
Image=cv2.addWeighted(img1,0.8,img2,0.2,0) #img1的比重因子为0.7,img2的比重因子0.3,伽马为0
 
cv2.imshow('Image',Image)
cv2.waitKey(0)
cv2.destroyAllWindow()

运行结果如下所示:

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持【听图阁-专注于Python设计】。

相关文章

Django原生sql也能使用Paginator分页的示例代码

django-pagination这是一个python包,来自github上的一个项目,很容易用。 不过这是一个懒人工具,好吧(工具理性)。不过当一个页面有多处需要采用分页的话,就行不...

PyQt5实现QLineEdit添加clicked信号的方法

大家都知道很多控件是没有clicked信号的,我在网上找了很多终于总结出2个方法来实现类似需求,比如给QLineEdit添加clicked信号,这样的话,当点击输入框时就会发送click...

让你Python到很爽的加速递归函数的装饰器

今天我们会讲到一个[装饰器] 注记:链接“装饰器”指Python3教程中的装饰器教程。可以在这里快速了解什么是装饰器。 @functools.lru_cache——进行函数执行结果备忘,...

python删除过期文件的方法

本文实例讲述了python删除过期文件的方法。分享给大家供大家参考。具体实现方法如下: # remove all jpeg image files of an expired mod...

关于Python中的向量相加和numpy中的向量相加效率对比

直接使用Python来实现向量的相加 # -*-coding:utf-8-*- #向量相加 def pythonsum(n): a = range(n) b = range(n)...