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 相关文章推荐
NetworkX之Prim算法(实例讲解)
Dec 22 Python
python面向对象入门教程之从代码复用开始(一)
Dec 11 Python
详解python的argpare和click模块小结
Mar 31 Python
Python学习笔记之Zip和Enumerate用法实例分析
Aug 14 Python
Python自动化导出zabbix数据并发邮件脚本
Aug 16 Python
python实现静态服务器
Sep 05 Python
python使用matplotlib绘制雷达图
Oct 18 Python
如何在python中实现随机选择
Nov 02 Python
python实现Oracle查询分组的方法示例
Apr 30 Python
Python2.6版本pip安装步骤解析
Aug 17 Python
Matplotlib中rcParams使用方法
Jan 05 Python
Python socket如何解析HTTP请求内容
Feb 12 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入门小知识
2008/03/24 PHP
php实例分享之二维数组排序
2014/05/15 PHP
PHP读取大文件的多种方法介绍
2016/04/04 PHP
非常有用的9个PHP代码片段
2016/04/06 PHP
总结PHP中DateTime的常用方法
2016/08/11 PHP
为jquery.ui.dialog 增加“自动记住关闭时的位置”的功能
2009/11/24 Javascript
这段js代码得节约你多少时间
2011/12/20 Javascript
基于jQuery实现的百度导航li拖放排列效果,即时更新数据库
2012/07/31 Javascript
jquery实现图片渐变切换兼容ie6/Chrome/Firefox
2013/08/02 Javascript
JavaScript Serializer序列化时间处理示例
2014/07/31 Javascript
浅谈类似于(function(){}).call()的js语句
2015/03/30 Javascript
JavaScript简单修改窗口大小的方法
2015/08/03 Javascript
JS基于myFocus库实现各种功能的tab选项卡切换效果
2015/09/19 Javascript
js图片轮播效果实现代码
2020/04/18 Javascript
jQuery的ajax中使用FormData实现页面无刷新上传功能
2017/01/16 Javascript
BootStrap Fileinput上传插件使用实例代码
2017/07/28 Javascript
Node解决简单重复问题系列之Excel内容的获取
2018/01/02 Javascript
ajax前台后台跨域请求处理方式
2018/02/08 Javascript
在js代码拼接dom对象到页面上的模板总结
2018/10/21 Javascript
微信小程序点击生成朋友圈分享图(遇到的坑)
2020/06/17 Javascript
vue实现放大镜效果
2020/09/17 Javascript
压缩包密码破解示例分享(类似典破解)
2014/01/17 Python
python中黄金分割法实现方法
2015/05/06 Python
Python中list列表的一些进阶使用方法介绍
2015/08/15 Python
python实现剪切功能
2019/01/23 Python
Python 面向对象之类class和对象基本用法示例
2020/02/02 Python
瑞典时尚耳机品牌:Urbanears
2017/07/26 全球购物
AT&T Wireless:手机、无限数据计划和配件
2018/06/03 全球购物
税务专业毕业生自荐信
2013/11/10 职场文书
厨师长岗位职责
2014/03/02 职场文书
《花瓣飘香》教学反思
2014/04/15 职场文书
私营公司诉讼代理委托书范本
2014/09/13 职场文书
法人代表证明书
2014/09/18 职场文书
乡镇党的群众路线教育实践活动总结报告
2014/10/30 职场文书
联谊会开场白
2015/06/01 职场文书
2016初一新生军训心得体会
2016/01/11 职场文书