Poisson Blending(Seamless clone)研究和实现
定义在上f*的最简单的插值函数f:最小化问题的插值(在边界是未知等于已知,在内部是梯度变化最小。梯度在二阶偏导为0的时候取极值)
(1)
其中
是梯度运算。最小值必须满足相关的拉格朗日方程。
(2)
其中是拉普拉斯算子。
一个引导域是最小化问题(1)的扩展版本中使用的向量域v:(注意 v 是引导向量,也就是前景)
(3)
它的解是Dirichlet边界条件下泊松方程的唯一解:
(4)
其中是v= (u,v)的散度。
一个有用的替代方案是理解泊松插值所做的是定义上修正的函数,以保证。
泊松方程(4)随之成为了以下有边界条件的拉普拉斯方程:
(5)
因此,在内,我们添加的修正是就是边界上源和目标错误匹配(f*-g)的一个插值(membrance interpolant)。这一引导插值的特例被用于无缝克隆。
1-D EXAMPLE 一维的例子,这个可以自己上手计算跟着看,效果非常好
左边是原图,相当于前景,红色直方图就是引导向量。右边是背景图。想把左边红色部分移过去,但是又要变化最小,怎么办?那么就是计算
With f1 = 6, f6 = 1.
因为这些都是正数,也就相当于计算:
分开求偏导数
变化为矩阵
结论是:
f2 = 6, f3 = 4, f4 = 5, f5 = 3
2-D EXAMPLE
可以直接使用简化的方式,也就是拉普拉斯算子,进行卷积运算。
Poisson Blending(Seamless clone)研究和实现的更多相关文章
- 深度学习与计算机视觉(12)_tensorflow实现基于深度学习的图像补全
深度学习与计算机视觉(12)_tensorflow实现基于深度学习的图像补全 原文地址:Image Completion with Deep Learning in TensorFlow by Bra ...
- {ICIP2014}{收录论文列表}
This article come from HEREARS-L1: Learning Tuesday 10:30–12:30; Oral Session; Room: Leonard de Vinc ...
- 《Java学习笔记(第8版)》学习指导
<Java学习笔记(第8版)>学习指导 目录 图书简况 学习指导 第一章 Java平台概论 第二章 从JDK到IDE 第三章 基础语法 第四章 认识对象 第五章 对象封装 第六章 继承与多 ...
- android 自定义相机
老规矩,先上一下项目地址:GitHub:https://github.com/xiangzhihong/CameraDemo 方式: 调用Camera API 自定义相机 调用系统相机 由于需求不同, ...
- 图像融合之泊松融合(Possion Matting)
前面有介绍拉普拉斯融合,今天说下OpenCV泊松融合使用.顺便提一下,泊松是拉普拉斯的学生. 泊松融合的原理请参考这篇博文https://blog.csdn.net/u011534057/articl ...
- OpenCV实现"你的名字"滤镜
这是一个比较有意思的demo,用到了播送融合,具体效果见下图: 文件结构如图所示 主程序代码 #include"stdafx.h" #include<opencv2/phot ...
- cesium地下模式(地表透明)2
接上一篇博客,这篇直接分析火星的源码,看它到底改了些什么. 注意:在cesium1.63.1版本改变了模块化方式,由AMD改为ES6模块化.注意引入文件加载模块时做出对应修改. 1.火星代码里修改了4 ...
- js深入研究之扩展类,克隆对象,混合类(自定义的extend函数,clone函数,与augment函数)
1.类扩展 /* EditInPlaceField类 */ /* 扩展函数 */ function extend(subClass, superClass) { var F = function() ...
- 从点云到网格(三)Poisson重建
Possion重建是Kazhdan等2006年提出的网格重建方法[1].Possion重建的输入是点云及其法向量,输出是三维网格.Poisson有公开的源代码[2].PCL中也有Poisson的实现. ...
随机推荐
- 计蒜客 31452 - Supreme Number - [简单数学][2018ICPC沈阳网络预赛K题]
题目链接:https://nanti.jisuanke.com/t/31452 A prime number (or a prime) is a natural number greater than ...
- HDFS文件上传
下图描述了Client向HDFS上传一个200M大小的日志文件的大致过程: 1)首先,Client发起文件上传请求,即通过RPC与NameNode建立通讯. 2)NameNode与各DataNode使 ...
- php之setcookie
注意在任何发送请求头之前不能有输出,不然会获取不到header头 setcookie(key,value, expires, 'path', domain); 在发送cookie时,会自动把cooki ...
- 关于LeNet-5卷积神经网络 S2层与C3层连接的参数计算的思考???
https://blog.csdn.net/saw009/article/details/80590245 关于LeNet-5卷积神经网络 S2层与C3层连接的参数计算的思考??? 首先图1是LeNe ...
- python 经验:把全局变量放在一个类中
注:红色是我增加的注释 add by zhj:其实python中的import, from-import语句是创建新的同名变量指向引入的模块和模块属性,这也就解释了下面的情况. 我们应尽量不用全局变量 ...
- table的td的1%
使用media-obj和media-bd类似的样式,大多数采用的是display: table-cell(即是table中td)来实现.当然设置display是不够,还要根据情况设置width.如下面 ...
- MYSQL中的CASE WHEN END AS
SELECT id,`NAME`,province,city, phone, CASE sex WHEN 'M' THEN '男' WHEN 'F' THEN '女'END AS sexFROM `p ...
- 8 jmeter之集合点
集合点:集合点用以同步虚拟用户,以便恰好在同一时刻执行任务.在测试计划中,可能会要求系统能够承受1000 人同时提交数据,在LoadRunner 中可以通过在提交数据操作前面加入集合点,这样当虚拟用户 ...
- container / pull-left
<div class="container"> <h2>实例</h2> <div class="pull-left"& ...
- window.open和window.showModalDialog
window.open window.open是打开一个新窗口 在window.open打开的窗口中刷新父页面 opener.location.reload(); 打开一个窗口格式:属性可以任意设置 ...