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操作xml文件详细介绍
Jun 09 Python
python映射列表实例分析
Jan 26 Python
浅谈python字符串方法的简单使用
Jul 18 Python
Python3.x对JSON的一些操作示例
Sep 01 Python
Python中列表与元组的乘法操作示例
Feb 10 Python
Selenium定时刷新网页的实现代码
Oct 31 Python
如何在Django中设置定时任务的方法示例
Jan 18 Python
Python中函数参数匹配模型详解
Jun 09 Python
OpenCV 轮廓检测的实现方法
Jul 03 Python
基于python解线性矩阵方程(numpy中的matrix类)
Oct 21 Python
Python变量及数据类型用法原理汇总
Aug 06 Python
分位数回归模型quantile regeression应用详解及示例教程
Nov 02 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循环获取GET和POST值的代码
2008/04/09 PHP
php实现爬取和分析知乎用户数据
2016/01/26 PHP
php实现分页功能的详细实例方法
2019/09/29 PHP
PHP 扩展Memcached命令用法实例总结
2020/06/04 PHP
CL vs ForZe BO5 第一场 2.13
2021/03/10 DOTA
javascript 动态table添加colspan\rowspan 参数的方法
2009/07/25 Javascript
Javascript select下拉框操作常用方法
2009/11/09 Javascript
javascript实现图片轮播效果
2016/01/20 Javascript
jQuery的图片轮播插件PgwSlideshow使用详解
2016/08/11 Javascript
javascript之IE版本检测超简单方法
2016/08/20 Javascript
半个小时学json(json传递示例)
2016/12/25 Javascript
利用jQuery实现一个简单的表格上下翻页效果
2017/03/14 Javascript
nodejs socket服务端和客户端简单通信功能
2017/09/14 NodeJs
原生JS检测CSS3动画是否结束的方法详解
2019/01/27 Javascript
基于Vue的商品主图放大镜方案详解
2019/09/19 Javascript
深入理解webpack process.env.NODE_ENV配置
2020/02/23 Javascript
node脚手架搭建服务器实现token验证的方法
2021/01/20 Javascript
[56:17]NB vs Infamous 2019国际邀请赛淘汰赛 败者组 BO3 第三场 8.22
2019/09/05 DOTA
Python的多态性实例分析
2015/07/07 Python
整理Python 常用string函数(收藏)
2016/05/30 Python
Python输出汉字字库及将文字转换为图片的方法
2016/06/04 Python
Scrapy框架爬取Boss直聘网Python职位信息的源码
2019/02/22 Python
Python计算IV值的示例讲解
2020/02/28 Python
海淘零差价,宝贝全球购: 宝贝格子
2016/08/24 全球购物
戴尔美国官网:Dell
2016/08/31 全球购物
英国休闲奢华的缩影:Crew Clothing
2019/05/05 全球购物
世界上最好的野生海鲜和有机食品:Vital Choice
2020/01/16 全球购物
会计主管岗位职责
2014/01/03 职场文书
如何签定毕业生就业协议书
2014/09/28 职场文书
群众路线批评与自我批评发言稿
2014/10/16 职场文书
毕业实习感受与体会
2015/05/26 职场文书
今日说法观后感
2015/06/08 职场文书
学籍证明模板
2015/06/18 职场文书
《多彩的民间艺术》教学反思
2016/02/16 职场文书
python实现调用摄像头并拍照发邮箱
2021/04/27 Python
用JS创建一个录屏功能
2021/11/11 Javascript