https://blog.csdn.net/nachoe/article/details/51383221

最近研究了一下防抖算法,总结如下,欢迎大家交流。防抖算法我总结一下三个方向:deconv method

base gyro method

feature method

下面说一下我对上述各种方法的理解。 - deconv method

该方法的模型数学表示如下:

Blurred image=Sharp image* kernel+Noise 公式1

这样问题就来了,当我们有且仅有一个模糊图像的时候,这个模型的数学表达就是一个ill-problem.在这种情况下,许多牛人提出了各种方法,但是都会有一个问题,离开不了预设初始化、迭代、傅立叶变换等条件。我在matlab跑了下代码,嗯,60分钟左右,一张几兆分辨率的图像。这里有兴趣的同学推荐阅读paper: Deblurring Text Images via L 0 -Regularized Intensity and Gradient Prior Deblurring Shaken and Partially Saturated Images Fast Motion Deblurring Learning Good Regions to Deblur Images

我总结如下:算法复杂度过高。base gyro method.

这种方法是基于移动设备的陀螺仪来确定公式1的kernel,接下来是用deconv啊还是使用winner滤波等方法进行防抖处理。上图。

推荐paper如下: Gyro-Based Multi-Image Deconvolution for Removing Handshake Blur

**Image deblurring in smartphone devices using built-in inertial measurement sensors**

只进行了一下winner滤波在指定psf下的仿真,由此可证明在保证陀螺仪判断kernel靠谱的情况下,该方法可行。

运行时间为1M分辨率的情况下 800ms。该方法可拓展为把图像分为大小相同的block,并进行分别的PSF和image restroe,这样理论上可以提高速度。因为winner滤波的本质就是7次傅立叶变换,可以使用fftw和neon进行加速。feature method 该方法是我由video stabilization algorithm总结而来,基本上特征点-匹配-warpping的方法进行视频稳像。

推荐paper: Bundled Camera Paths for Video Stabilization

该论文的核心思想如下图所示:

该paper提出的思想如下,分成各个block确定各个block的端点,进行feature point检测,再进行匹配,根据上述信息进行warpping,得到最终稳定图像。

本想上传仿真图像,但超过2M,懒得上传了。 说下结论吧,可以稳像,但deblur效果一般。如果两帧的图像都有局域较大的blur,基本没啥效果。如果使用Surf工程化的时候也会有问题,因为surf向量是64维的,memory占用会较大。13M图像花了13s,呃,surf大约耗时5s,warpping 8s。

可以考虑基于多种feature point 进行优化。

有误之处,大家多多指教。

matlab 防抖,防抖算法小结相关推荐

  1. [转载]SIFT(尺度不变特征变换)算法小结

    原文地址:SIFT(尺度不变特征变换)算法小结[转]作者:慕容天峰 最近一直在看SIFT算法.Sift是David Lowe于1999年提出的局部特征描述子,并于2004年进行了更深入的发展和完善.S ...

  2. 用matlab实现理查森外推算法,Matlab数值积分(2)

    实验目的: 掌握理查森外推法 实验要求: 1. 给出理查森外推算法 2. 用Matlab实现理查森外推算法 3. 用Matlab实现自适应积分算法 实验内容: 1. 理查森外推算法,数学知识:利用Ri ...

  3. matlab负序控制程序,基于MATLAB的微机保护算法和负序电流算法

    内容简介: 基于MATLAB的微机保护算法和负序电流算法,毕业论文,共33页,12271字. [摘要]随着电力工业的发展,电力系统的规模越来越大.在这种情况下,许多大型的电力科研试验很难进行,同时对数 ...

  4. 微分法MATLAB语言程序,MATLAB语言常用算法程序集 102MB 百度网盘

    马上注册,结交更多好友,享用更多功能,让你轻松玩转社区. 您需要 登录 才可以下载或查看,没有帐号?立即注册 x MATLAB语言常用算法程序集 102MB 百度网盘 点击进入 上篇 matlab基础 ...

  5. Matlab人脸检测算法详解

    这是一个Matlab人脸检测算法详解 前言 人脸检测结果 算法详解 源代码解析 所调用函数解析 bwlabel(BW,n) regionprops rectangle 总结 前言 目前主流的人脸检测与 ...

  6. 数据挖掘中分类算法小结

    数据挖掘中分类算法小结   数据仓库,数据库或者其它信息库中隐藏着许多可以为商业.科研等活动的决策提供所需要的知识.分类与预测是两种数据分析形式,它们可以用来抽取能够描述重要数据集合或预测未来数据趋势 ...

  7. matlab在电力行业中的仿真技术-MATLAB基于EKF算法估计电动汽车蓄电池的SOC

    前言 关于本文的代码请参加,有兴趣的小伙伴可自行订阅. matlab电力系统仿真-MATLAB基于EKF算法估计电动汽车蓄电池的SOC 电动汽车(EV)是未来汽车的一大发展方向.动力锂电池组是电动汽车 ...

  8. ML之RF:基于Matlab利用RF算法实现根据乳腺肿瘤特征向量高精度(better)预测肿瘤的是恶性还是良性

    ML之RF:基于Matlab利用RF算法实现根据乳腺肿瘤特征向量高精度(better)预测肿瘤的是恶性还是良性 目录 输出结果 实现代码 输出结果 更新-- 实现代码 %RF:RF实现根据乳腺肿瘤特征 ...

  9. 光谱分类算法 matlab,Matlab K-means聚类算法对多光谱遥感图像进行分类(一)

    Matlab K-means聚类算法对多光谱遥感图像进行分类 作者: 白艺亭 测试了下matlab自带kmeans函数,作者编写函数,以及ENVI下的Kmeans方法,对比其效果,代码及结果图展示见下 ...

  10. 基于MATLAB的Dijkstra算法实现及案例分析

    摘要:为研究两地点之间距离(或耗时)最短路线规划,采用MATLAB编程的方法来实现,并利用Floyd算法记录距离(或耗时)最短路线.在不考虑各种影响因素的情况下,以随机小样本数据为例进行演示,求得由起 ...

最新文章

  1. Zuul spring cloud zuul com.netflix.zuul.exception.ZuulException GENERAL解决方案
  2. javascript封装与多态的体现
  3. bzoj3482,jzoj3238-超时空旅行hiperprostor【最短路,凸包,斜率优化】
  4. Java开发环境之RabbitMQ
  5. android中button点击两次才响应onclick方法
  6. MySQL建立的索引看_MYSQL索引问题:索引在查询中如何使用?看了很多资料都只说索引的建立。是否建立了就不用再理会?...
  7. WebSocket的简单实现
  8. 地铁综合监控系统网络方案,简化工作轻松应对客流高峰
  9. 医疗常用信息化系统介绍
  10. android 沉浸式_【沉浸式体验】从民俗音乐到绘画雕塑,他们玩了这么多花样!...
  11. C++程序员应了解的那些事(19)C++ trivial(平凡的)和non-trivial(非平凡的)
  12. PHP开发环境配置:ThinkPHP与IDE
  13. LCD12864液晶显示模块的使用与分析
  14. KSO-.NET 6 中的新增功能
  15. oracle10gwin,win10肿么彻底卸载oracle10g
  16. ca加密是什么情况_让我们进行加密:为什么要创建一个免费,自动化和开放的CA?...
  17. python 科大讯飞XFS5152CE语音合成芯片串口协议测试,机器人说话so easy
  18. 申报职称要满足的条件
  19. #1790 : 特工配对
  20. jacob操作word excel 将word excel转换成网页形式

热门文章

  1. 创造绮美世界,《阴阳师》主美汪洋深度分享
  2. [MTK][FAQ14772] 如何实现插上电池自动开机
  3. RIP基础知识及配置
  4. 安兔兔(antutu)与英特尔(intel)的节操
  5. android 7.0系统安装apk报错问题。
  6. 同步ubuntu粘贴板和windows系统粘贴板
  7. DOM的一些操作流程
  8. Apache启动失败出现的问题及解决方案
  9. Head First 设计模式(四)装饰者模式
  10. principle导出html5,Principle使用小技巧分享