Deblur:运动模糊图像复原(四)

模糊 (一)运动模糊&失焦模糊 去卷积&盲去卷积 (一)运动模糊: 生成方法: 1)时间反失真 高帧率多帧积累渲染的到低帧频。 2)设定角度距离,对目标进行叠加 (二)失焦模糊: (三)其他: 双边滤波:保边去噪 Non-Local Means(非局部均值)滤波器 运动滤波 https://zhuanlan.zhihu.com/p/56335422 解决时间轴抖动 视频动作放大 https://zhuanlan.zhihu.com/p/56426748 https://zhuanlan.zhihu.com/p/58103189 https://zhuan 阅读详情

在这篇博文中,主要想记录一下自己使用c++实现的过程中遇到的一些问题。

1. 模糊核的初始化。这是一个会对结果产生影响的参数,特别是当运动模糊的半径比较大时,结果差异会更大。

所以尽量的在核中心位置初始化。

2. 拟合好的模糊核一般是浮点型数据,这个是要直接用来复原模糊图像的。但是在显示模糊核时,我采用了下面的方法,效果更好。showimage = (kernel-minValue)/maxValue

3. 每层金字塔都需要归一化模糊核。

4. 每层金字塔模糊核归一化之前都需要使模糊核的有效区域平移到图像中心位置。

5. 图像下采样。

    a. 下采样的图像大小依赖于每层的缩放比例,这里取了以常数sqrt(0.5)为底的指数,指数从0~n。n是总得层数。n越大表示位于金字塔的层数越高,图像尺寸越小。最底层的金字塔表示原始图像大小。这个缩放比例在计算图像大小时存在一个问题:它是浮点型数据,往往精度会影响计算结果。比如0.1,可能会表示为0.099999999,或者0.10000000001,这在计算后的图像大小会由于极小的误差产生图像大小变化的情况。不同的机器计算结果会不一样。

    b. 下采样的方法。大致使用的是取量化后的数据。在量化前,对图像做了卷积运算。卷积核是一个设定好的大小,比如n*n。k=s2*s1,s2等于s1的转置,s1是一个1行n列的向量。s1的数值等于exp[-0.5*(2*i*phi)*(2*i*phi)*(1/(phi*scale))(1/(phi*scale))]。我到现在还没理解其中的这一点。我猜想可能是先将图像数据插值了一下,但图像大小不变。

6. 每次迭代前都需要将前一次迭代的结果核函数进行resize放大。但此时放大的方法对结果影响也比较大。

 

此外,还存在两个问题,一个是过曝图像,一个是振铃效果的去除。在第一篇博文中有简单讲到去除振铃效果的方法。它对于运动半径较小时的振铃效果去除效果较好,但当运动半径增大后,效果不理想。这种方式在除颤的应用中比较好。

最后粘贴一组自己测试的图,做了优化之后,效果有明显提升。

 

 

Opencv 实现 运动模糊的添加(motion blur)与消除(demotion blur) 此代码用于实现模糊运动的添加与消除。原理:在已知模糊运动核的前提下,可通过核线性卷积的形式对图像添加运动模糊,           反之也可利用该核精确的去除该运动模糊。说明:本例代码是在梳理前人代码的基础上整理得到,仅使用了C++常用库与opencv2.4.5          AddMotionBlur的createLinearFilter函数在opencv3+版本中已经去除,故而建议只用op... 阅读详情

相关推荐

图像复原(去模糊)基本内容以及评价标准

图像复原包括几方面的内容,如图像去模糊,图像修补,图像超分辨率等等。其中,本文着重与图像去模糊方面的基本知识,以及复原图像的评价标准。

m0_51767556的博客 7771

Python 知识 如何将运动模糊应用于图像

在这篇快速文章中,我们将学习如何设计模拟运动模糊的内核。在之前的教程中,我们学习了如何将运动模糊应用于频域中的图像,但现在我们将在空间域中执行此操作。您可能已经熟悉 OpenCV 中的框过滤或高斯模糊等方法,它们将模糊核与图像进行卷积。在这里,我们将做一些非常类似的事情,我们将学习如何设计我们自己的内核。代码位于 GitHub 上,让我们开始吧

小云同志你好的博客 312

Deblur:运动模糊图像复原(三)

运动模糊图像复原(三)   Reference: Deblurring Text Images via L0 -Regularized Intensity and Gradient Prior   在运动模糊图像复原(一)中有涉及到模糊模型的估计,这是一个难点,但是没有细说。这篇文章主要记录一下第四点的内容:使用latent image和blurred image预估当前层级的模糊模型。...

Merria28的专栏 6444

Deblur: 运动模糊图像复原 (一)

本次博文主要想记录一下自己在做运动模糊图像复原时的一些总结和心得感悟,方便以后回顾。 Reference: Deblurring Text Images via L0 -Regularized Intensity and Gradient Prior   主要难点: 估计模糊模型 解决方式:            ①使用金字塔模型,创建模糊图像相应的层级图像;并根据缩放比例创建模糊模型...

Merria28的专栏 8530

Halcon实战:从仿真到恢复,深入解析运动与虚焦模糊处理

本文深入探讨Halcon在工业视觉中处理运动模糊和虚焦模糊的实战技巧。通过仿真模拟和维纳滤波恢复技术,详细解析模糊成因、参数调优及效果评估,帮助工程师提升图像处理精度和检测效率。特别适用于精密零件检测和快速传送带等工业场景。

babing2770的博客 397

(7-6)图像增强:去除运动模糊

使用基于边缘的方法的基本思想是通过利用图像中的边缘信息,对模糊图像进行分析和处理,以恢复原始图像的细节和清晰度。方法的基本思想是通过对模糊图像中的像素值进行统计分析,推断出运动模糊的参数,并进行逆运算来恢复原始图像。基于盲去卷积的方法(Blind Deconvolution)是一种无需事先知道模糊核的方法,它试图通过估计模糊核和清晰图像来恢复原始图像。盲去卷积方法的核心思想是通过迭代优化过程来估计模糊核和清晰图像,以最小化重建图像与模糊图像之间的差异。在上述代码中,使用运动模糊的盲去卷积方法来恢复图像。

码农三叔 3201

Deblur:运动模糊图像复原(二)

运动模糊图像复原(二) Reference: Deblurring Text Images via L0 -Regularized Intensity and Gradient Prior   上面一文中有涉及到模糊模型的估计,这是一个难点,但是没有细说。这篇文章主要记录一下第三点内容:根据对应层级模糊图像的L0亮度和梯度 + 对应层级的模糊模型 = 预估当前层级的latent image...

Merria28的专栏 2826

去模糊deblur

1入门 2、典型paper 资源: 论文汇总:https://github.com/subeeshvasu/Awesome-Deblurring 代码:https://paperswithcode.com/task/deblurring

yang_daxia的博客 2246

OpenCV 运动模糊图像复原实战:线性 PSF 建模与维纳滤波(Motion Deblur Filter)详解

运动模糊(motion blur)是拍摄运动物体时最常见的降质来源之一,例如行驶中的汽车导致车牌无法辨认。本教程以 OpenCV 官方示例 [motion_deblur_filter.cpp](https://link.gitcode.com/i/4c6673eb00a3a66ae6f4027d9a45d842) 为蓝本,系统讲解线性运动模糊的点扩散函数(PSF)如何用长度 `LEN` 与角度 `

gitblog_00748的博客 346

pwscf与wannier90 Hands-On实战训练(一)——费米面计算为例

系列文章目录 Quantum Espresso Hands-On实战训练(三)——DOS计算 文章目录系列文章目录计算过程pwscf直接得到等能面pwscf和wannier90得到等能面pwscf直接得到等能面1. scf2. nscf3. 后处理pwscf和wannier90得到等能面1. Kpoints2. scf3. nscf4. pw2wan及wannier90.x5. XCrySDen可视化 计算过程 pwscf直接得到等能面 pwscf和wannier90得到等能面 pwscf直接得到等能面

weixin_45973682的博客 5070

电网渗透之终端安全

        电力系统安全不仅关系到电网的稳定运行,也关系到国家能源安全和国计民生,甚至关系到国家的安全和利益,电力系统由于结构复杂多样、分布广泛、重要性高,一旦系统瘫痪影响巨大,因此,极容易成为敌对势力攻击的首选目标。随着信息安全暴露面迅速增加,将给公司网络安全防线带来严峻挑战。       监控、保障这些电力系统安全运行变的尤为重要。内部安全防护产品有防火墙、纵向加密、反向隔离设备等...

guapi007008的博客 2721

PaddlePaddle去模糊Deblur模型在监控视频中的应用

针对监控视频中运动模糊、失焦等问题,基于PaddlePaddle构建的Deblur模型可有效提升图像清晰度。通过DeblurGAN-v2等工业级模型,结合感知损失与多尺度结构,实现细节还原与纹理重建,在车牌识别、人脸识别等场景中显著提升准确率,已在交通卡口与夜间监控中验证效果。

weixin_34581040的博客 802

GD32模拟IIC读写DVC1124

GD32模拟IIC读写集澈AFE芯片DVC1124

ponyma_的博客 1226

SRN-Deblur训练教程:从零开始构建你的图像去模糊模型

想要让模糊的照片变得清晰吗?SRN-Deblur是一个基于深度学习的图像去模糊工具,它采用尺度循环网络架构,能够有效去除各种运动模糊。这篇完整教程将带你从零开始,快速掌握如何训练自己的图像去模糊模型!✨ ## 📋 准备工作:环境配置与数据准备 ### 系统要求与依赖安装 首先确保你的系统满足以下要求: - Python 2.7环境 - TensorFlow 1.4(支持GPU加速) - 必

gitblog_00019的博客 463

【AI之路】cmd命令行通过Huggingface镜像站快速下载模型文件的方法

Hugging Face Hub 是分享机器学习模型、演示、数据集和指标的首选之地。huggingface_hub 库可以轻松下载Huggingface上有用的模型和数据集元数据。但大模型文件通常较大,国内下载太慢,那有没有高效便捷的方法?这个当然必须有!看到了吗?只是添加一个参数,下载大模型就搞定了。当然也可以使用python程序来下载。具体见前期博文:【AI之路】使用huggingface_hub通过huggingface镜像站hf-mirror.com下载大模型(附代码,实现大模型自由)

IT里的交易员-博客 1853

Apollo Planning决策规划算法代码详细解析 (2):Scenario执行

上一章节讲Scenario的决策逻辑,当确认当前Scenario后,本章节继续深入讲解在代码中,Scenario的执行过程。Scenario的Process()函数根据配置文件顺序执行stage,并判断目前处于哪个stage。当确认好stage后调用该stage对应的Process()函数,来进行具体的规划任务。 码字不易,喜欢的朋友们麻烦点个关注与赞。 在本文你将学到下面这些内容: Scenario的Process()函数的作用于调用方式; Scenario对象的初始化方法; 如何给每个Scen

自动驾驶Player的博客 5609

模糊图像修复对比:controlnet-union-sdxl-1.0 Tile Deblur前后效果

在数字图像处理领域,模糊图像的修复一直是一项具有挑战性的任务。controlnet-union-sdxl-1.0作为一款功能强大的AI绘图工具,其Tile Deblur功能为解决这一难题提供了高效的解决方案。本文将通过实际案例,详细对比使用Tile Deblur前后的图像效果,展示该工具在模糊图像修复方面的卓越能力。 ## 一、Tile Deblur功能简介 Tile Deblur是contr

gitblog_00940的博客 1143

六、数据资产平台功能架构

该架构图展示了一个功能完善的数据资产平台,它涵盖了数据资产管理的各个方面,从数据采集、模型设计、编目到使用和分析。通过该平台,企业可以更好地管理数据资产,提高数据利用效率,并为业务决策提供有力支持。

moton2017的博客 1627

如何使用SRN-Deblur?3分钟快速上手的完整教程

SRN-Deblur是一款基于Scale-recurrent Network的深度图像去模糊工具,能够有效修复因运动、对焦等原因造成的模糊照片。本文将带你快速掌握这款强大工具的使用方法,无需复杂编程知识,3分钟即可完成从安装到处理的全流程。 ## 📋 准备工作:环境与依赖 使用SRN-Deblur前需要确保系统已安装以下依赖: - Python 3.x - TensorFlow - 相关Py

gitblog_00939的博客 482

LOFIC / 全局快门在移动端的可行性:曝光容限、读出噪声与算力预算

手机端引入 LOFIC 与全局快门的核心权衡在于:在有限像素面积与功耗下,如何换取更高的动态范围与运动场景鲁棒性。LOFIC 通过侧向溢流到积分电容扩大满井并保持较高转换增益,全局快门在帧内一次性采样消除行时序伪影,但需付出像素填充率、读出噪声与片上存储功耗的代价。本文以工程可实操为目标,给出像素与读出链的简化模型、曝光损益测算、数据率与带宽估算、端到端算力与热预算方法,配套寄存器配置流程、帧内/帧间切换策略与验证清单,帮助在真实移动 SoC 与 ISP 约束下完成可行性评估与原型落地。

努力分享一些人工智能、计算机视觉、影像等相关的知识干货! 1139

一文探讨视频秒开:m3u8视频格式与视频秒开优化

秒开指的是,一秒内成功加载的播放数/播放总数。本意是想对比一下m3u8与mp4视频格式,并了解m3u8格式优缺点,以确定一个大概优化方向。但对m3u8做简单了解后,觉的m3u8可能是一个优化方向。

bjxiaxueliang的CODING小栈 2万+

SRN-Deblur技术原理揭秘:Scale-recurrent Network如何实现高效图像去模糊

SRN-Deblur是一个基于Scale-recurrent Network(尺度循环网络)的深度图像去模糊项目,能够有效解决因相机抖动、运动等原因造成的图像模糊问题。本文将深入解析其核心技术原理,带您了解这个强大工具如何通过创新的网络结构实现高效图像去模糊。 ## 什么是图像去模糊?为什么选择SRN-Deblur? 日常生活中,我们经常会遇到拍摄的照片因手抖、物体运动或光线不足而变得模糊的情

gitblog_00707的博客 753

jdk-8u144-linux-x64.tar.gz.

该资源为搭建Linux系统Java环境用,资源的后缀为tar.gz格式的压缩包

PaddlePaddle图像去模糊Deblur实战教程

利用PaddlePaddle构建高效图像去模糊系统,结合UNet结构与感知损失,提升真实场景下的视觉恢复效果。涵盖模型设计、损失函数优化及边缘部署要点,已在智慧交通中成功落地,显著提高OCR识别率。

weixin_42594427的博客 889

jre9下载 jdk9

(Java SE Runtime Environment 9.0) 9.0u175 官方最新版 【x86|x64】

Outlook Express 6 (OE6) for Win7/Win8/Win10

英文版 Outlook Express6.0, 兼容Win7/Win10/WinXP,解压就可用。

MMCV图像去模糊技术深度解析:从运动模糊到散焦模糊的智能恢复方案

在计算机视觉的实际应用中,我们经常面临一个棘手的问题:图像模糊。无论是高速行驶的自动驾驶车辆捕捉到的运动模糊,还是医疗影像中的散焦模糊,这些图像质量问题直接影响着后续分析的准确性。MMCV作为OpenMMLab计算机视觉基础库,提供了专业的图像处理工具集,其中针对图像去模糊的技术方案尤为值得深入探讨。 ## 🔍 为什么图像模糊问题如此难以解决? 图像模糊的根源主要分为两类:**运动模糊**和

gitblog_00366的博客 264

霍尼韦尔SoftMaster使用说明

霍尼韦尔SoftMaster使用说明

图像模糊类型解析:3大物理成因与OpenCV 4.9.0仿真对比

本文深入解析图像模糊的三大物理成因(大气模糊、散焦模糊和运动模糊),并通过OpenCV 4.9.0的Python实现进行仿真对比。文章详细介绍了各类模糊的数学模型、特性分析及代码实现,帮助开发者精准控制图像处理流程,适用于图像修复和特效制作等场景。

hideto 526

Windows终极优化神器:WinUtil完整指南 - 从繁琐到极简的Windows管理之旅

你是否厌倦了每次重装Windows系统后都要花费数小时安装软件、调整设置、优化性能?你是否希望有一个工具能帮你一键完成所有Windows优化任务?WinUtil,这款免费开源的Windows优化工具,正是你需要的解决方案。作为Chris Titus Tech开发的Windows实用程序,WinUtil集成了软件安装、系统优化、故障修复和更新管理四大核心功能,让你在几分钟内完成原本需要数小时的工作。

gitblog_00045的博客 445
上一篇: Deblur:运动模糊图像复原(三)
下一篇: 如何向别人解释DL工作的实质?
ML_AI
博客等级 码龄15年 293粉丝 17原创
评论 2
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值