第一次发博客,就试试看的心态,不喜勿喷~

蒙版可以将两张毫不相关的图片合成为一张图,其实就是使用蒙版mask对两张图片的像素做了加权平均处理的结果。

比如对于像素点(x1,y1,v1), (x2,y2,v2)使用的蒙版上相应像素点为(x3,y3,v3),其中x, y表示像素坐标,v表示像素值。则生成的点的像素值为v4=v1*w1+v2*w2. 其中w1=v3/255, w2=1-w1.

蒙版中像素点越亮(代表像素值越高)或越暗,两个权重w差别就越大,生成图片的混合型就低一些。

附python简单实现代码和效果图
# -*- coding: utf-8 -*-
'''使用的图片都是500*512的rgb格式文件'''
from PIL import Image
import numpy as np
import matplotlib.pyplot as plt
import osdef synthesize_by_mask(pic_hidden, pic_show, pic_mask):'''pic_hidden and pic_show is in rgb mode, pic_mask is in '1' mode. They have been all converted into numpy array'''pic_mask /= 255.result = np.floor(pic_mask * pic_hidden + (1 - pic_mask) * pic_show) #加权平均return resultdef test_mask():os.chdir("E:\\test")p1 = Image.open("uu.jpg")plt.figure(1)plt.subplot(211)plt.imshow(p1)p1 = np.array(p1, dtype = 'float')p2 = Image.open("vv.jpg")plt.subplot(212)plt.imshow(p2)p2 = np.array(p2, dtype = 'float')pm = np.tile(np.tile(np.arange(256, dtype = 'float'), (2,1)).T.reshape([512,1]), (3, 1, 500)).transpose((1, 2, 0))    #生成蒙版,这里是随机的result = synthesize_by_mask(p2, p1, pm)pr = Image.fromarray(result.astype(np.uint8))plt.figure(2)plt.imshow(pr)test_mask()

            

蒙版原理以及Python简单实现相关推荐

  1. PID原理及python简单实现与调参

    一.前言 近期在实际项目中使用到了PID控制算法,于是就该算法做一总结. 二.PID控制算法详解 2.1 比例控制算法 例子: 假设一个水缸,需要最终控制水缸的水位永远维持在1米的高度. 水位目标:T ...

  2. 双向联想记忆网络的原理与python简单实现

    文章目录 原理 处理步骤 思考 源代码 1. 计算网络 2. 验证网络能力: 原理 联想记忆功能分为自联想和异联想,异联想也称为双向联想记忆,简写为BAM.BAM存储器可存储两组矢量,若有如下N维矢量 ...

  3. python gdbt+fm_GBDT回归的原理及Python实现

    提到GBDT回归相信大家应该都不会觉得陌生(不陌生你点进来干嘛[捂脸]),本文就GBDT回归的基本原理进行讲解,并手把手.肩并肩地带您实现这一算法. 完整实现代码请参考本人的p...哦不是...git ...

  4. 信号处理之频谱原理与python实现

    目录 频谱分析 FFT频谱分析原理 下面就用python案例进行说明 案例1 案例2 短时傅里叶变换STFT 本分享为脑机学习者Rose整理发表于公众号:脑机接口社区.QQ交流群:941473018 ...

  5. 冲量(momentum)的原理与Python实现

    冲量(momentum)的原理与Python实现 前言 参考:https://www.jianshu.com/p/58b3fe300ecb 梯度下降法(Gradient Descent)是机器学习中最 ...

  6. Python 简单入门指北(二)

    Python 简单入门指北(二) 2 函数 2.1 函数是一等公民 一等公民指的是 Python 的函数能够动态创建,能赋值给别的变量,能作为参传给函数,也能作为函数的返回值.总而言之,函数和普通变量 ...

  7. python怎么用for循环找出最大值_如何获取Python简单for循环索引

    如何获取Python简单for循环索引 这篇文章主要介绍了如何获取Python简单for循环索引,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 Py ...

  8. opengl实现三维动画简单代码_使用Python简单实现马赛克拼图!内附完整代码

    今天小编带大家使用python简单实现马赛克拼图,内容比以往会稍长一些,各位看官老爷可以慢慢细读,若有不足之处还望请斧正,闲话不多说,请看文章. 先看原图: 效果图: 思路: 拼图的原理其实很简单,就 ...

  9. 机器学习 | 早期停止法原理及Python实现

    文章目录 1. 早期停止法 1.1 Python 实现 参考文献 相关文章: 机器学习 | 目录 机器学习 | 梯度下降原理及Python实现 1. 早期停止法 对于梯度下降这一类迭代学习的算法,还有 ...

最新文章

  1. bzoj 3262 陌上花开
  2. gradle构建android项目
  3. 为何多线程就能提高Java程序的执行效率
  4. python日历下拉框_Python版的农历日历Calendar,功能简单
  5. mysql bypass_Bypass MySQL Safedog
  6. 01-复杂度1 最大子列和问题 (20 分)
  7. ue4集合类型_UE4-Sockets
  8. Java Double类shortValue()方法与示例
  9. 夺命雷公狗---PDO NO:3与连接有关的选项
  10. SpringCloud 从菜鸟到大牛之八 服务容错 Hystrix
  11. system类的 静态方法可以启动垃圾回收器。_跟小伟一起学习类加载机制
  12. 使用Elasticsearch和C#理解和实现CRUD APP的初学者教程——第1部分
  13. 使用windows 7有感
  14. Velodyne-16完全配置
  15. luffy-16/订单表设计,立即付款接口/前端,支付成功get回调用户展示,支付成功post回调修改订单状态
  16. 劈荆斩棘:Gitlab 部署 CI 持续集成
  17. Lync 2013和Exchange 2013集成
  18. SoapUI offen used scripts
  19. 四旋翼飞行器9——APM地面站使用详解(校准结束)
  20. Spring源码解析(七)-Bean属性间的循环依赖

热门文章

  1. cocos2d-x控制台更改精灵图片
  2. 问题解决:gitee项目提交失败 master -> master (non-fast-forward)
  3. 【深度之眼】【Pytorch打卡第4天】:各种transforms详解
  4. React项目中 ESLint对a标签href属性警告解决方法
  5. Python3 Rot_13 算法
  6. thinkphp5+layui+GatewayWorker开源多客服聊天系统,支持多客服权限管理
  7. 阿里云音乐趋势预测初赛、复赛数据集下载
  8. 结绳法:文章详细解读(异步时钟设计的同步策略)(五)
  9. 微信社群机器人Java,做社群一定需要用到微信群机器人吗?看这里你就懂了!...
  10. cesium实现向卫星添加传感器并跟随卫星移动