文档章节

利用联合双边滤波或引导滤波进行升采样(Upsampling)技术提高一些耗时算法的速度。

abcijkxyz
 abcijkxyz
发布于 2016/11/22 16:41
字数 1022
阅读 8
收藏 0
点赞 0
评论 0

     本文算法合作联系QQ:  1664462947, 非诚勿扰 

  邮件地址:         laviewpbt@sina.com

     这十年来,在图像处理领域提出了很多新的图像分析和处理方法,包括是自动的以及一些需要有人工参与的,典型的比如stereo depth computations、image colorization、tone mapping of high dynamic range (HDR) images、 graph cuts ,这些算法都有着比较好的效果,但都普遍存在一个问题:就是计算量特别大,很难满足用户的需求。而数字图像在尺寸大小上的增长速度这段时间也相当惊人。还有个问题就是有些算法需要解一个很大的稀疏矩阵方程,可能会大到系统的无法为接其过程分配足够的内存。因此,如果解决这两个问题,一个直观而又简单的想法就是:先处理原图下采样的小图,然后将处理后的结果在上采样。

      但是,如此处理存在的问题就是上采样算法会直接影响到处理效果。如果是纯粹的最近邻插值、或者是双线性,抑或是三次立方等复杂点插值算法,都会使人感到效果失真。但是在这种情况下的我们实际上比简单的图像放大时多了一个信息的,就是我有原始的未做处理的并且未缩小的图像的信息,是否能利用这个信息来增强上采样的效果呢?目前我看到了两种这方面的算法。

      一种就是联合双边滤波,我们先简单的看看这个东西的数学公式吧:

         

      对上式做个简答的解释,其中I表示输入图像,p/q表示X/Y物理坐标,Ip表示对应位置的像素值,J表示输出, f/g是权重分布函数,一般为高斯函数。这种滤波的结果就是周边像素的权值不仅和距离有关还和那个位置的像素值有关,如果在值域的权重计算过程引入另外一幅图像,如下式,则称之为联合双边滤波。 

        

      联合双边滤波上采样技术也很简单,一种便于理解的也便于写代码的方式就是把下采样并进行处理过后的小图按照最近邻插值的方式放大到原图大小,然后再用原图的数据和这个放大的结果进行联合双边滤波处理。

      另外,引导滤波的对参数的要求和联合双边很类似,这个在后续的文章中我会具体讲述。 

      关于这个方面的文章,比较简单的就是这篇 http://research.microsoft.com/en-us/um/people/cohen/JBU_Final.pdf

  想比如上述那些复杂的算法,联合双边滤波的快速算法的耗时几乎可以忽略不计,如果一个算法下采样的采样率为0.25,则算法那本身的速度理想状态下可能只为原始的1/16,加上最后的联合双边滤波的时间,可能提高10倍以上,而效果变化并不大。

     我做了几个算法的测试,比如磨皮算法(下采样率0.25):

          

              原图                   下采样图            下采样处理图                  最近邻插值后的图

                                                   

      联合双边滤波结果图                                                      原图处理图

    在那我在行的去雾算法来看下:

       

                     原图                              下采样图        下采样处理图                   最近邻插值后的图

                                               

                       联合双边滤波结果图                                                      原图处理图

     我这里举得例子不是很恰当,因为我这里还没有做特别复杂的和耗时的算法,但是这个过程表明这种方式处理和解决问题是完全可以的。

   

 

****************************作者: laviewpbt   时间: 2014.4.20    联系QQ:  1664462947  转载请保留本行信息********************

 

本文转载自:http://www.cnblogs.com/Imageshop/p/3677313.html

共有 人打赏支持
abcijkxyz
粉丝 60
博文 6196
码字总数 1876
作品 0
深圳
项目经理
图像保边滤波器---双边滤波算法

双边滤波算法 #include "string.h" include "stdio.h" include "stdlib.h" include "math.h" include"SoftSkin.h" //垂直方向递归void runVerticalHorizontal(double data,int width,int he......

trent1985
05/24
0
0
CSDN日报180524——《一个合格的程序员,需要哪些必备技能?》

程序人生 | 一个合格的程序员,需要哪些必备技能? 作者:hollischuang 本文,主要来简单介绍一下,作为一个合格的 Java 开发,除了自身技术成长之外,还有哪些方面可以提升。 点击阅读全文 ...

blogdevteam
05/24
0
0
粒子滤波 particle filter tutorial:从推导到应用文章学习笔记

来源: 因为工作中从事机器人导航相关工作,需要了解粒子滤波相关知识,现在从csdn博主(白巧克力亦唯心)的几篇博文研究一番,写一写自己的学习笔记与思路,所有思路从该博主来,贴出该博主...

CWY_007
2017/11/28
0
0
利用Matlab2017b Simulink基于模型设计的自动代码生成对STM32F4进行开发 (4)----(ADC电压采集以及自适应滤波实验)

本ADC实验通过1个电压采集来演示STM32的ADC功能,以及如何在simulink平台上面完成这些功能的具体操作,并利用simulink强大的信号处理工具相,将采集回来的电压信号进行自适应滤波,告别一些传...

weixin_36967309
05/12
0
0
妹纸们的最爱 - 拓幻科技美颜SDK算法

现在各大手机制造商都在主推美颜效果,各种前后2000万像素,照亮你的美,各种逆光也清晰。其实这些看似神秘的美颜效果,除了依赖于手机像素之外,更重要的是攻城狮们对于美颜算法的构造。除了...

tillusory
01/31
0
0
十大滤波算法程序大全(Arduino精编无错版)

转载请注明出处:极客工坊 http://www.geek-workshop.com/thread-7694-1-1.html 仅供本人学习使用 By shenhaiyu 2013-11-01 1、限幅滤波法(又称程序判断滤波法) 2、中位值滤波法 3、算术平...

yg970514
03/21
0
0
粒子滤波概述

粒子滤波(PF: Particle Filter)的思想基于蒙特卡洛方法(Monte Carlo methods),它是利用粒子集来表示概率,可以用在任何形式的状态空间模型上。其核心思想是通过从后验概率中抽取的随机状态粒...

文艺小青年
2017/07/06
0
0
TensorFlow中滑动平均模型介绍

内容移至:https://oldpan.me/archives/tensorflow-movingaverage 内容总结于《TensorFlow实战Google深度学习框架》 不知道大家有没有听过一阶滞后滤波法: newvalue=(1−a)×value+a×oldva...

oldpan
2017/10/11
0
0
D3D11中的硬件反锯齿 SSAA/MSAA/EQAA/CSAA(1)

在篇日志中,我们学习一下在D3D11中,如何启用aa(反锯齿)功能,提高渲染质量,并了解一下硬件反锯齿的原理。首先我们先回顾一下采样和滤波的概念,然后了解在D3D11中,如何启用aa(anti-alias...

迈克老狼1
2012/11/22
0
0
12- OpenCV+TensorFlow 入门人工智能图像处理-磨皮美白

磨皮美白 上节课的+固定值,我们还可以变为乘以一个系数。 只修改b和g的值,然后分别加上系数。 可以看到这次就没有蒙上白色 磨皮美白(双边滤波) 可以看到已经有很大效果了 高斯均值滤波 高斯...

天涯明月笙
05/12
0
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

JEESZ分布式框架--单点登录集成方案

JEESZ分布式框架单点登录集成方案 第一节:单点登录简介 第一步:了解单点登录 SSO主要特点是: SSO应用之间使用Web协议(如HTTPS) ,并且只有一个登录入口. SSO的体系中有下面三种角色: 1) Us...

明理萝
5分钟前
0
1
【易错】一级缓存、二级缓存介绍与常见问题(四)

一般来说,可以在5个方面进行缓存的设计: 1.最底层可以配置的是mysql自带的query cache, 2.mybatis的一级缓存,默认情况下都处于开启状态,只能使用自带的PerpetualCache,无法配置第三方缓...

大白来袭
10分钟前
0
0
rancher安装kubernetes

参考https://rancher.com/quick-start/ 环境: Ubuntu 16.04 Docker versions are 1.12.6, 1.13.1 or 17.03.2 1、docker安装https://docs.docker.com/install/linux/docker-ce/ubuntu/#insta......

杰仪
10分钟前
0
0
几维安全Javascript代码混淆(js加密)在线使用说明

几维安全Javascript代码混淆是一项在线加密服务,用户只需将JS文件打包成zip包,提交到加密平台,即可完成代码混淆、字符串加密、属性加密、调用转换等多项保护措施,提高攻击者分析Javascr...

工作的事
12分钟前
1
0
解决dokuwiki创建中文词条文件乱码问题

若直接创建中文词条,打开本地文件夹\dokuwiki\data\pages你会发现,中文字段显示的是URL乱码,需要改一下utf8格式,方法如下:(linux系统亲测有效) 打开 .dokuwiki\conf\local.php 添加一行...

Rhymo-Wu
14分钟前
0
0
设置圆角长条progressbar背景色

1、首先在Drawable下面新建一个xml文件,将这段代码复制进去 <?xml version="1.0" encoding="utf-8"?><layer-list xmlns:android="http://schemas.android.com/apk/res/android"> <!-......

王先森oO
15分钟前
0
0
Java语言学习(九):异常处理

异常是程序中的一些错误,但并不是所有的错误都是异常,并且错误有时候是可以避免的。常见的三种异常类型有: 检查性异常,如打开一个不存在的文件 运行时异常,如数组越界 错误,如栈溢出 ...

海岸线的曙光
18分钟前
0
0
深入分析golang多值返回以及闭包的实现

一、前言 golang有很多新颖的特性,不知道大家的使用的时候,有没想过,这些特性是如何实现的?当然你可能会说,不了解这些特性好像也不影响自己使用golang,你说的也有道理,但是,多了解底...

万建宁
18分钟前
0
0
img与background-image之间的区别

1.img <img src="图片来源" alt="图片无法显示时显示图片说明性文字" style="设置样式属性" /> img标签虽然不是块状元素,但是可以设置宽高,占位, img设置width后height会自适应匹配,如果...

爱喝水的小熊
20分钟前
0
0
Swift - 添加提示音

func createSound() { //建立的SystemSoundID对象 var soundID:SystemSoundID = 123 //获取声音地址 let path = Bundle.main.path(forResource: "3quan......

west_zll
22分钟前
0
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部