利用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中尝试多线程编程的一个简明例子

综述     多线程是程序设计中的一个重要方面,尤其是在服务器Deamon程序方面。无论何种系统,线程调度的开销都比传统的进程要快得多。   Py...

PyQt5主窗口动态加载Widget实例代码

PyQt5主窗口动态加载Widget实例代码

本文研究的主要是PyQt5主窗口动态加载Widget的代码示例,具体如下。 我们通过Qt Designer设计两个窗口,命名为主窗口(MainForm)和子窗口(ChildrenForm...

Python脚本实现虾米网签到功能

Python脚本实现虾米网签到功能

本文实例讲述了Python脚本实现虾米网签到功能的方法。分享给大家供大家参考,具体如下: 概述 这个脚本完成了自动登录虾米网、签到的功能。 大致要用到urllib、urllib2、coo...

Python修改MP3文件的方法

本文实例讲述了Python修改MP3文件的方法。分享给大家供大家参考。具体如下: 用这个程序修改后的MP3比原来要小一些了,因为一张图片被删除了,起到了给MP3"瘦身"的作用。在一些mp...

完美解决python遍历删除字典里值为空的元素报错问题

exam = { 'math': '95', 'eng': '96', 'chn': '90', 'phy': '', 'chem': '' } 使用下列遍历的方法删除: 1. for...