python实现两张图片的像素融合


Posted in Python onFebruary 23, 2019

本文实例为大家分享了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获取指定路径下所有指定后缀文件的方法
May 26 Python
详解python中xlrd包的安装与处理Excel表格
Dec 16 Python
Python使用Pickle库实现读写序列操作示例
Jun 15 Python
python自动发送邮件脚本
Jun 20 Python
Python+Pandas 获取数据库并加入DataFrame的实例
Jul 25 Python
python取数作为临时极大值(极小值)的方法
Oct 15 Python
对python3中, print横向输出的方法详解
Jan 28 Python
解决python Markdown模块乱码的问题
Feb 14 Python
Python使用到第三方库PyMuPDF图片与pdf相互转换
May 03 Python
简单瞅瞅Python vars()内置函数的实现
Sep 27 Python
python实现计算器功能
Oct 31 Python
python matplotlib.pyplot.plot()参数用法
Apr 14 Python
Python判断有效的数独算法示例
Feb 23 #Python
Python实现的旋转数组功能算法示例
Feb 23 #Python
Python实现求两个数组交集的方法示例
Feb 23 #Python
Python神奇的内置函数locals的实例讲解
Feb 22 #Python
Python玩转Excel的读写改实例
Feb 22 #Python
Python操作配置文件ini的三种方法讲解
Feb 22 #Python
Python使用pymongo库操作MongoDB数据库的方法实例
Feb 22 #Python
You might like
生成静态页面的PHP类
2006/11/25 PHP
php生成SessionID和图片校验码的思路和实现代码
2009/03/10 PHP
数据库查询记录php 多行多列显示
2009/08/15 PHP
基于PHP文件操作的详细诠释
2013/06/21 PHP
用PHP实现弹出消息提示框的两种方法
2013/12/17 PHP
利用Homestead快速运行一个Laravel项目的方法详解
2017/11/14 PHP
js对table的td进行相同内容合并示例详解
2013/12/27 Javascript
jQuery简单实现title提示效果示例
2016/08/01 Javascript
使用vue实现点击按钮滑出面板的实现代码
2017/01/10 Javascript
jQuery实现每隔一段时间自动更换样式的方法分析
2018/05/03 jQuery
详解解决Vue相同路由参数不同不会刷新的问题
2018/10/12 Javascript
Vue中fragment.js使用方法小结
2020/02/17 Javascript
vue集成一个支持图片缩放拖拽的富文本编辑器
2021/01/29 Vue.js
python脚本监控docker容器
2016/04/27 Python
Python实现的圆形绘制(画圆)示例
2018/01/31 Python
Python实现将json文件中向量写入Excel的方法
2018/03/26 Python
python图像处理入门(一)
2019/04/04 Python
pyqt5移动鼠标显示坐标的方法
2019/06/21 Python
python实现列表中最大最小值输出的示例
2019/07/09 Python
python matplotlib库直方图绘制详解
2019/08/10 Python
python实现3D地图可视化
2020/03/25 Python
关于python 的legend图例,参数使用说明
2020/04/17 Python
Python 的 __str__ 和 __repr__ 方法对比
2020/09/02 Python
CSS3的一个简单导航栏实现
2015/08/03 HTML / CSS
加拿大高尔夫超市:Golf Town
2018/01/12 全球购物
家乐福台湾线上购物网:Carrefour台湾
2020/09/15 全球购物
阿里巴巴Oracle DBA笔试题答案-备份恢复类
2013/11/20 面试题
给老婆大人的检讨书
2014/02/24 职场文书
音乐教育感言
2014/03/05 职场文书
金融学专业大学生职业生涯规划
2014/03/07 职场文书
授权委托书样本
2014/04/03 职场文书
书香校园建设方案
2014/05/02 职场文书
2014年政协工作总结
2014/12/09 职场文书
高中教师个人工作总结
2015/02/10 职场文书
企业百日安全活动总结
2015/05/07 职场文书
Python 匹配文本并在其上一行追加文本
2022/05/11 Python