Abstract:

图像分析和增强任务,例如色调映射,彩色化,立体声深度和照相蒙太奇,通常需要计算像素网格上的解(例如,用于曝光,色度,视差,标签)。 计算和存储器成本通常要求在下采样图像上运行较小的解。 虽然通用上采样方法可以用于将低分辨率解决方案内插到全分辨率,但是这些方法通常假定内插之前的平滑性。

我们证明在诸如上面的情况下,可用的高分辨率输入图像可以被利用作为在联合双向上采样程序的上下文中的先验,以产生更好的高分辨率解决方案。 我们显示上述每个应用的结果,并将其与传统的上采样方法进行比较。

来我们来回顾一下之前的BF和JBF

BF:

f为the spatial filter kernel,就想高斯kernel,是以p为中心。

g 为the range filter kernel,图像中心的像素值为Ip.

Ω is the spatial support of the kernel f

kp is a normalizing factor, the sum of the f · g filter weights

kp为一个window中的所有的f与g相乘的值

JBF(joint bilateral filters):

Joint Bilateral Upsampling:

S is the low resolution solution

可以看出对于像素值差值的高斯函数是通过采样得到的,至于怎么采样,就是选取color图像的(i,j)为中心,以离中心(i,j)采样间隔的整数倍距离进行采样,当然采样范围不能超过给定windows的范围

g:就是正常的从depth image中获得的距离的高斯函数(在代码中,depth image是经过下采样后的图像)

matlab code:

function result = JointBilateralUpsample(color,depth,factor,sigma_w,sigma_c,w)

if( size(color,3) ~= 3 ),

error( 'color data must be of 3 channel' );

end

depth = double(depth);

color = double(color);

highHeight = size( color, 1 );

highWidth = size( color, 2 );

lowHeight = size(depth,1);

lowWidth = size(depth,2);

result = zeros(highHeight,highWidth);

for i = 1:highHeight

for j = 1:highWidth

id = i/factor;

jd = j/factor;

iMin = ceil(max(id-w,1));

iMax = floor(min(id+w,lowHeight));

jMin = ceil(max(jd-w,1));

jMax = floor(min(jd+w,lowWidth));

depth_sec = depth(iMin:iMax,jMin:jMax);

color_sec = color(iMin * factor:factor:iMax * factor,jMin * factor:factor:jMax * factor,:);

% Compute Gaussian range weights.

dR = color_sec(:,:,1)-color(i,j,1);

dG = color_sec(:,:,2)-color(i,j,2);

dB = color_sec(:,:,3)-color(i,j,3);

range = exp( -(dR.^2 + dG.^2 + dB.^2) / (2*sigma_c^2));

% Calculate bilateral filter response.

iw = (iMin:iMax) - id;

jw = (jMin:jMax) - jd;

[mx,my] = meshgrid(jw,iw);

spatial = exp( -(mx.^2 + my.^2) / (2*sigma_w^2) );

depth_weight = (depth_sec>0) .* range .* spatial;

depth_sum = depth_sec .* depth_weight;

result(i,j) = sum(depth_sum(:)) / sum(depth_weight(:));

end

end

end

matlab bilateral 函数,2.阅读笔记:Joint Bilateral Upsampling相关推荐

  1. C++ Primer 第五版 第6章 6.7——函数指针阅读笔记

    习题答案请参考:C++ Primer 第五版 第6章 6.7--函数指针习题答案 目录 6.7 函数指针 使用函数指针 返回指向函数的指针 6.7 函数指针 声明一个函数指针,只需要用指针替代函数名即 ...

  2. C++ Primer 第五版 第6章 6.2——函数参数传递阅读笔记

    习题答案请参考:C++ Primer 第五版 第6章 6.2--函数参数传递习题答案 目录 6.2 函数参数传递 6.2.1 传值参数(值传递) 指针形参 6.2.2 传引用参数(引用传递) 使用引用 ...

  3. C++ Primer 第五版 第6章——函数阅读笔记及习题答案(完整,附C++代码)

    C++Primer(第五版)第6章函数的阅读笔记及课后习题答案总结,课后习题答案是自己学习写出来的,如果有误,欢迎指正 还不完整,后续会更新添加 阅读笔记 C++ Primer 第五版 第6章 6.1 ...

  4. 联合双边滤波器(joint bilateral filter)

    原文地址: 联合双边滤波器(joint bilateral filter) 作者: pplong 前面介绍了双边滤波器(bilateral filter,LBF),然而BF的权值是不稳定的,因此在边缘 ...

  5. 双边滤波(bilateral filter)以及联合双边滤波(joint bilateral filter)

    文章目录 双边滤波 理论公式 代码(C++) 数学辅助理解 联合双边滤波(joint bilateral filter) 参考链接 写在最后 双边滤波 自用备忘,若侵则删. 理论公式 利用二维高斯函数 ...

  6. [Style Transfer]——Joint Bilateral Learning for Real-time Universal Photorealistic Style Transfer

    Joint Bilateral Learning for Real-time Universal Photorealistic Style Transfer 基于联合双边学习的通用写实风格转换
 fr ...

  7. 论文阅读笔记(8):Structured Sparse Subspace Clustering: A Joint Affinity Learning and Subspace Clustering

    论文阅读笔记(8):Structured Sparse Subspace Clustering: A Joint Affinity Learning and Subspace Clustering F ...

  8. 论文阅读笔记——DLT-Net: Joint Detection of Drivable Areas, Lane Lines, and Traffic Objects)

    论文阅读笔记--DLT-Net: Joint Detection of Drivable Areas, Lane Lines, and Traffic Objects 论文简介 1 引言 2 DLT- ...

  9. DnCNN论文阅读笔记【MATLAB】

    DnCNN论文阅读笔记 论文信息: 论文代码:https://github.com/cszn/DnCNN Abstract 提出网络:DnCNNs 关键技术: Residual learning an ...

最新文章

  1. oracle归档日志参数reopen=30,Oracle 归档日志 -- CSDN 比较全的说明文档
  2. Python学习笔记(十一)
  3. python面向对象:多态与多态性
  4. openshift_云上的播放框架变得简单:Openshift模块
  5. python多继承_python作用域和多继承
  6. C++ 读取CSV文件中的数据到Mat
  7. matlab 基础 —— 文本文件读取
  8. 算法设计与分析 (知识点总结)
  9. 数列求和再求极限问题
  10. linux rpm和deb的区别,rpm与deb都是什么呢 有什么区别呢
  11. 一碗糖水,生津又补气,最适合宝宝三伏天喝!
  12. java配置文件密码加密解密_Java-从配置文件加密/解密用户名和密码
  13. Oracle 11g 通过透明网关访问瀚高数据库
  14. Day08 - HTML5 Canvas 实现彩虹画笔绘画板指南
  15. 打印日志文件并将其上传存到HDFS中
  16. HFSS15 win10安装
  17. Unity3D - 使用天空盒子(Using Skyboxes)
  18. 事务的传播行为(讲得比较好)
  19. AirSim无人机仿真——手柄操作
  20. linux 易语言窗口程序_用易语言开发Linux程序的方法

热门文章

  1. CAD多行文字快捷键是什么?怎么用?
  2. ROS官方手机APP--Rocon Remocon在ROS concert中的使用
  3. 文旅部谈加强假日旅游市场监管 查处强迫消费等乱象
  4. 推荐:一个画出高大上的机器学习图的神器(论文必备)
  5. PCI Express系统结构学习 - 第一章
  6. c语言递归方法排序,归并排序,递归法,C语言实现。
  7. matlab连续多小时地间断运行
  8. java计算机毕业设计健身房管理系统设计MyBatis+系统+LW文档+源码+调试部署
  9. 解决 FROM keyword not found where expected
  10. 计算机怎打字,电脑自动打字怎么回事