本文实例为大家分享了python实现两张图片像素融合的具体代码,供大家参考,具体内容如下

通过计算两张图片的颜色直方图特征,利用直方图对图片的颜色进行融合。

import numpy as np

import cv2

from PIL import Image,ExifTags

def calcMeanAndVariance(img):

row=img.shape[0]

col=img.shape[1]

#channel=img.shape[2]

total=row*col

print (row,col,total)

mean=np.zeros((3))

variance=np.zeros((3))

sum=np.zeros((3))

for i in range(row):

for j in range(col):

sum[0]+=img[i][j][0]

sum[1]+=img[i][j][1]

sum[2]+=img[i][j][2]

mean[0]=sum[0]/total

mean[1]=sum[1]/total

mean[2]=sum[2]/total

sum=np.zeros((3))

for i in range(row):

for j in range(col):

sum[0]=np.square(img[i][j][0]-mean[0])

sum[1]=np.square(img[i][j][1]-mean[1])

sum[2]=np.square(img[i][j][2]-mean[2])

variance[0]=np.sqrt(sum[0]/total)

variance[1]=np.sqrt(sum[1]/total)

variance[2]=np.sqrt(sum[2]/total)

print (mean,variance)

return mean,variance

def cololTransit(img1,img2):

image1 = cv2.cvtColor(img1, cv2.COLOR_BGR2LAB)

image2=cv2.cvtColor(img2, cv2.COLOR_BGR2LAB)

mean1,variance1=calcMeanAndVariance(image1)

mean2,variance2=calcMeanAndVariance(image2)

#print (mean1,variance1)

radio=np.zeros((3))

radio[0]=variance2[0]/variance1[0]

radio[1]=variance2[1]/variance1[1]

radio[2]=variance2[2]/variance1[2]

print('test', radio)

row=image1.shape[0]

col=image1.shape[1]

for i in range(row):

for j in range(col):

image1[i][j][0]=min(255,max(0,radio[0]*(image1[i][j][0]-mean1[0])+mean2[0]))

image1[i][j][1]=min(255,max(0,radio[1]*(image1[i][j][1]-mean1[1])+mean2[1]))

image1[i][j][2]=min(255,max(0,radio[2]*(image1[i][j][2]-mean1[2])+mean2[2]))

image = cv2.cvtColor(image1, cv2.COLOR_BGR2LAB)

return image

if __name__=='__main__':

img1=cv2.imread('1.jpg')

img2=cv2.imread('2.jpg')

cv2.namedWindow('src')

cv2.namedWindow('dst')

#cv2.resizeWindow('src',500,500)

#cv2.resizeWindow('dst',500,500)

cv2.imshow('src',img1)

cv2.imshow('dst',img2)

cv2.waitKey()

cv2.destroyAllWindows()

img=cololTransit(img1,img2)

cv2.namedWindow('result')

cv2.imshow('result',img)

cv2.waitKey()

cv2.destroyAllWindows()

#print (img)

python两张图片融合_python实现两张图片的像素融合相关推荐

  1. python求交点坐标_Python求两个圆的交点坐标或三个圆的交点坐标方法

    计算两个圆的交点 代码如下: # -*- coding: utf-8 -*- import math import numpy as np def insec(p1,r1,p2,r2): x = p1 ...

  2. python图例重复显示_python – 具有两个标记的多行的自定义图例,用于相同的文本...

    我想执行图中所示的图例类型. 这个数字我做了一些技巧只是为了表示我真正想要的东西,所以它没有很好地展示传奇中粉红色标记的颜色. 在图中,圆圈表示相同的参数,但是对于两个不同的模型;三角形和方形标记也是 ...

  3. python怎么计算百分比_python计算两个数的百分比方法

    工作中遇到了要计算两个数百分比的问题,python 2.7 环境. 代码: #!/usr/bin/env python #function: 计算百分比 #USAGE: python calculat ...

  4. python求两数最大公因数_Python求两个数的最大公约数

    Python求两个数的最大公约数 一.求最大公约数算法: 1. 整数A对整数B进行取整, 余数用整数C来表示 举例: C = A % B 2. 如果C等于0,则C就是整数A和整数B的最大公约数 3. ...

  5. python通过outlook发送邮件_python使用两种发邮件的方式smtp和outlook示例

    本篇文章主要介绍了python使用两种发邮件的方式smtp和outlook示例,具有一定的参考价值,感兴趣的小伙伴们可以参考一下. smtp是直接调用163邮箱的smtp服务器,需要在163邮箱中设置 ...

  6. python判断英文字母_Python判断两个单词的相似度

    本文要点在于算法的设计:如果两个单词中不相同的字母足够少,并且随机选择几个字母在两个单词中具有相同的前后顺序,则认为两个单词是等价的. 目前存在的问题:可能会有误判. from random impo ...

  7. python 数组比较大小_python – 比较两个不同长度的numpy数组

    这可能是一个特殊情况,但你应该能够使用numpy digitize.这里需要注意的是,垃圾箱必须单调减少或增加. >>> import numpy >>> a = ...

  8. python分两列输出_python分两列输出

    分割成一个包含两个元素列表的列 对于一个已知分隔符的简单分割(例如,用破折号分割或用空格分割).str.split() 方法就足够了 . 它在字符串的列(系列)上运行,并返回列表(系列). >& ...

  9. python字符串比较大小_Python 比较两个字符串大小

    <1---关于解决MySQL在控制台插入中文乱码问题> 说明:以下所有操作都是基于我个人的电脑及示例,读者可以参考我这个解决过程,去解决自己的问题,如有其它疑问,欢迎留言交流. 首先来看看 ...

最新文章

  1. Sublime Text3常用插件以及安装方法(实用)
  2. ubutu14.04无法使用sudo,也无法切换到root用户去解决问题怎么办?
  3. jbutton可以设置id吗_Java JButton.setHorizontalTextPosition方法代碼示例
  4. matlab利用作图法求圆周率
  5. openssh升级sftp_Centos7 升级 openSSH 到7.9p1的详细步骤
  6. java.lang.TypeNotPresentException: Type javax.xml.bind.JAXBContext not present解决方案
  7. androidh5混合开发_Android H5混合开发(3):原生Android项目里嵌入Cordova
  8. 微软中国回应关闭实体直营店:中国市场保持正常营运
  9. The following types may not be used as proxies 异常处理办法
  10. 终极算法-机器学习和人工智能如何重塑世界:电子书
  11. 不限速度盘下载神器Pandownload作者被抓,大量下载脚本已宣布停更
  12. SQL2019 用户sa‘登录失败(错误18456)
  13. com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: Incorrect database name ‘dongdong_1
  14. ATOM Z3000 家族整理之基本信息(一) V2.0版
  15. eChat(微聊天)
  16. python自动群发邮件_24.python之自动群发邮件(1)
  17. 白月黑羽selenium自动化测试课后习题
  18. WMS系统对接OMS接口经验
  19. Android语音转文字一识别语音
  20. 2022-3-22 Leetcode 72.编辑距离

热门文章

  1. 滴滴“负重”387天
  2. 扑克牌大小的充电宝,你有吗?
  3. 44 年前的今天,改变世界的 TA 诞生了!
  4. 经过 180 年的训练,OpenAI 在 DOTA 2 上完虐人类!
  5. 水滴直播风波背后:事关隐私的恐慌和“委屈”的周鸿祎
  6. javaweb实训第四天上午——员工管理系统-JavaBeanELJSTLMVC思想
  7. python 反传播_纯Python实现反向传播(BP算法)(5)
  8. aptitude安装出现依赖_开发函数计算的正确姿势——依赖安装方法一览
  9. android activity传值到dialog,android 自定义AlertDialog 与Activity相互传递数据
  10. bash 脚本_实用的 bash 自定义脚本,快速提效工作流程