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

零基础学simulink仿真建模--基于Simulink进行农业机械用开关磁阻电机的仿真建模

特点结构简单:无电刷、换向器等易损件,维护成本低。坚固耐用:适合恶劣的工作环境,如农业机械作业现场。宽调速范围:通过适当的控制策略可以实现较宽的速度调节范围。挑战非线性特性:SRM的电磁特性和转矩特性具有高度非线性。复杂性:涉及电气、机械动力学以及控制系统的设计与集成。实时性要求:需要快速响应以适应不断变化的操作条件。多变量优化:包括电流控制、速度控制等多个方面需综合考虑。使用Simscape Electrical库来构建一个开关磁阻电机模型。

amy_mhd的博客 909

MacOS多次踩坑后成功安装Homebrew

来一次性成功安装Homebrew吧 官网提供的安装脚本无法成功安装Homebrew,原因大家都懂的,故采用脚本安装的方式。 下载homebrew的安装脚本brew_install 在Download路径下执行如下脚本 curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install >> brew_install 修改brew_install脚本 修改brew_install脚本。如果你的脚本打开之后是如下

weixin_41847116的博客 1982

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

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

weixin_34581040的博客 802

弱网、高热、只有 32MB 内存:恶劣环境下嵌入式 SoC 音视频开发的“不死”法则

永远不要假设。你申请一个 1920 宽的图像,硬件为了对齐(比如 16 字节对齐或 256 字节对齐),实际分配的一行可能有 1936 甚至是 2048 字节。那个多出来的部分叫Padding。如果你写代码时用来计算数据量,或者用Width来做指针偏移:恭喜你,你的画面会像被风吹歪的百叶窗一样,产生斜切畸变。永远使用VB_CONF结构体里返回的u32Stride字段。这是区分新手和老手的试金石。第六章 ISP 调优(Tuning)实战:为什么你调出的画面像个“鬼片”?

大模型大数据攻城狮的专栏 1769

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

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

gitblog_00019的博客 463

AE(自动曝光)调试策略:曝光曲线设计与过曝控制

自动曝光(AE, Auto Exposure)系统是图像质量控制链路中的核心模块之一,其性能直接决定了成像亮度是否稳定、细节是否完整、场景切换是否自然。在现代移动终端影像系统中,AE 不仅需要适应不同光照强度和复杂环境,还需兼顾人脸优先、HDR触发、视频帧率控制等多目标优化需求。本文基于高通 Snapdragon 和 MTK Dimensity 等主流平台的调试经验,系统梳理了 AE 模型设计原则、曝光曲线配置、测光策略选择与过曝抑制机制,并结合典型实战案例,提供可复制的工程落地路径。

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

Kafka 性能优化与常见问题排查

Kafka 的高性能依赖于合理的集群设计、参数优化与高效的监控体系。生产环境中,应重点关注I/O 瓶颈、分区规划、Producer/Consumer 参数调优,并通过监控与排查手段快速定位问题,从而保障 Kafka 在实时场景下的稳定运行。

X2829352498的博客 235

模糊图像修复对比: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

LVGL hal indev(porting evdev)

LVGL中对输入设备的管理是单例实现的,而在Linux的输入设备是多个的,所以需要对其进行改造成多例实现。

Bigan(安)的博客 3346

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

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

gitblog_00939的博客 482

YOLOv5入门实践(2)——手把手教你利用labelimg标注数据集

YOLOv5入门实践第2步,手把手教你使用labelimg标注数据集

路人贾的博客 1万+

按照CANoe模板制作seed&&key.dll

在canoe进行诊断测试的时候,在0x27服务中需要制作一个dll文件。可在canoe的诊断中进行加载,也可用于diva的自动化测试。 本文按照canoe提供的KeyGenDll_GenerateKeyEx模板制作。 KEYGENALGO_API VKeyGenResultEx GenerateKeyEx( const unsigned char* iSeedArray, /* Array for the seed [in] */ unsigned int

天赐好车的博客 6520

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

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

gitblog_00707的博客 753

ssm框架搭建

这个是一个在idea上成功跑起来的ssm框架项目,保存在这里方便以后使用直接下载

PaddlePaddle图像去模糊Deblur实战教程

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

weixin_42594427的博客 889

pscad IEEE标准系统搭建说明

pscad IEEE标准系统搭建说明,包含典型的IEEE 9节点、14节点、30节点、39节点和118节点系统。内含标准测试系统的原始数据和潮流结果。

NTscan扫描工具

ntscan是一个扫描器,可以扫描没有密码和弱密码的共享,先到配置文件中填写猜测的用户名和密码,扫描过程中右侧出现的是扫描日志。

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

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

gitblog_00366的博客 264

廖雪峰Python教程[完整版]

廖雪峰的python教程整理的,已经排好版了,而且还是完整的,适合小白

图像模糊类型解析: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、付费专栏及课程。

余额充值