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

yipeiwu_com6年前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设计】。

相关文章

python内存动态分配过程详解

python内存动态分配过程详解

一、前言 大多数编译型语言,变量在使用前必须先声明,其中C语言更加苛刻:变量声明必须位于代码块最开始,且在任何其他语句之前。其他语言,想C++和java,允许“随时随地”声明变量,比如...

python中的itertools的使用详解

今天了解了下python中内置模块itertools的使用,熟悉下,看能不能以后少写几个for,嘿嘿😁。 1.无穷的迭代器 1.1 count(start,[step...

pycharm+PyQt5+python最新开发环境配置(踩坑)

pycharm+PyQt5+python最新开发环境配置(踩坑)

安装工具: Pycharm 专业版2017.3 PyQT5 python3 测试工程文件及所需工具: 1、首先安装Pycharm,先前一篇介绍安装破解版的可以参...

python 消除 futureWarning问题的解决

在用LogisticRegression和svm的时候会出一堆futureWarning很碍眼于是 解决方法如下: from warnings import simplefilter...

在Python中append以及extend返回None的例子

在Python中append以及extend返回None的例子

Python中,列表是可以进行修改的:赋值、删除元素、分片等等。在给列表添加元素时,有两个常见的方法:append和extend。append在列表的最后添加元素,但是每次只能添加一个元...