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+selenium实现163邮箱自动登陆的方法
Dec 31 Python
Python中elasticsearch插入和更新数据的实现方法
Apr 01 Python
pandas数据处理基础之筛选指定行或者指定列的数据
May 03 Python
python爬取网易云音乐评论
Nov 16 Python
PyQT5 QTableView显示绑定数据的实例详解
Jun 25 Python
Selenium+Python 自动化操控登录界面实例(有简单验证码图片校验)
Jun 28 Python
Python使用线程来接收串口数据的示例
Jul 02 Python
Series和DataFrame使用简单入门
Nov 13 Python
使用tqdm显示Python代码执行进度功能
Dec 08 Python
python GUI库图形界面开发之PyQt5不规则窗口实现与显示GIF动画的详细方法与实例
Mar 09 Python
Django获取model中的字段名和字段的verbose_name方式
May 19 Python
Jmeter调用Python脚本实现参数互相传递的实现
Jan 22 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 number_format() 函数通过千位分组来格式化数字的实现代码
2013/08/06 PHP
ThinkPHP框架设计及扩展详解
2014/11/25 PHP
PHP实现基于文本的摩斯电码生成器
2016/01/11 PHP
PHP数组编码gbk与utf8互相转换的两种方法
2016/09/01 PHP
PHP模拟http请求的方法详解
2016/11/09 PHP
PHP中上传文件打印错误错误类型分析
2019/04/14 PHP
可以显示单图片,多图片ajax请求的ThickBox3.1类下载
2007/12/23 Javascript
jqPlot 图表中文API使用文档及源码和在线示例
2012/02/07 Javascript
一款基jquery超炫的动画导航菜单可响应单击事件
2014/11/02 Javascript
JavaScript实现控制打开文件另存为对话框的方法
2015/04/17 Javascript
理解js回收机制通俗易懂版
2016/02/29 Javascript
Angularjs上传文件组件flowjs功能
2017/08/07 Javascript
nodeJS进程管理器pm2的使用
2019/01/09 NodeJs
微信小程序如何实现在线客服功能
2019/10/16 Javascript
Vue export import 导入导出的多种方式与区别介绍
2020/02/12 Javascript
[07:40]DOTA2每周TOP10 精彩击杀集锦vol.4
2014/06/25 DOTA
[48:21]林俊杰圣堂刺客超神杀戮秀
2014/10/29 DOTA
python实现文件分组复制到不同目录的例子
2014/06/04 Python
Python 生成VOC格式的标签实例
2020/03/10 Python
Python基于DB-API操作MySQL数据库过程解析
2020/04/23 Python
使用Keras建立模型并训练等一系列操作方式
2020/07/02 Python
python中lower函数实现方法及用法讲解
2020/12/23 Python
英国户外玩具儿童游乐设备网站:TP Toys(蹦床、攀爬框架、秋千、滑梯和游戏屋)
2018/04/09 全球购物
外企C语言笔试题
2013/11/10 面试题
销售顾问岗位职责
2014/02/25 职场文书
先进事迹报告会主持词
2014/04/02 职场文书
高考标语大全
2014/06/05 职场文书
小组名称和口号
2014/06/09 职场文书
广告设计专业毕业生自我鉴定
2014/09/27 职场文书
答谢词范文
2015/01/05 职场文书
公务员政审个人总结
2015/02/12 职场文书
2016学习全国教书育人楷模先进事迹心得体会
2016/01/21 职场文书
2016年百日安全生产活动总结
2016/04/06 职场文书
看古人们是如何赞美老师的?
2019/07/08 职场文书
Oracle11g r2 卸载干净重装的详细教程(亲测有效已重装过)
2021/06/04 Oracle
Python实现Matplotlib,Seaborn动态数据图
2022/05/06 Python