• , 这个应用可以在很大程度上消除相机拍摄图像的抖动模糊。效果图如下: 效果虽然不算完美,但是也很令人惊讶。 一直以来对这个领域了解不是很多,今天看到这个,就在网上搜索

    原文地址:http://www.bfcat.com/index.php/2012/10/deblur/

    今天看到新浪微博上面转发的一个应用叫做 Enhance!, 这个应用可以在很大程度上消除相机拍摄图像的抖动模糊。效果图如下:





    效果虽然不算完美,但是也很令人惊讶。

    一直以来对这个领域了解不是很多,今天看到这个,就在网上搜索了一下这方面的资料。看到香港中文大学的Jiaya Jia以及美国哥伦比亚大学CAVE实验室这方面的研究主页。

    下面两个都是Jiaya Jia的项目主页:

    http://www.cse.cuhk.edu.hk/~leojia/projects/motion_deblurring/index.html

    http://www.cse.cuhk.edu.hk/~leojia/projects/robust_deblur/index.html

    没有仔细看他们的论文,但是通过一些介绍,可以了解到,简单的图像模糊可以看作是模糊核与原始图像进行了卷积,因此模糊核估计是图像去模糊的一个重要部分。如果模糊核已知,那么算法就退化为Non-blind Image Deconvolution。

    Jiaya Jia的方法主要是针对一张已经有了运动模糊的图像,算法分为 模糊核估计以及图像恢复两个步骤,这两步构成了一个迭代优化框架。即首先估计模糊核,然后对图像恢复,然后重新估计模糊核,恢复图像,最终直到收敛。他们的另一个主要贡献在于分析了造成图像模糊的多种因素,进而提出了估计模糊核更好的概率模型。

    这是他们在SIGGRAPH2008的文章结果之一,效果已经相当好了。


    哥伦比亚大学的这个项目主页要更老一些,2004年的

    http://www1.cs.columbia.edu/CAVE/projects/motion_deblur/motion_deblur.php

    这个项目中,作者发明了一种混合相机,通过均衡时间分辨率与空间分辨率来进行相机运动的预测,从而更好的估计出点扩散方程(PSF)。也就是运动模糊的模糊核。







    展开全文
  • 曾经很长一段时间, 对图像模糊都有一种偏见, 认为这是一个灌水的领域, 没有什么实用价值,要到这样的文章,不管是多高的档次, 直接pass。 最近在调研最近几年的关于Computational Photography的一些研究热点时...

    原文:原文地址

    曾经很长一段时间, 对图像去模糊都有一种偏见, 认为这是一个灌水的领域, 没有什么实用价值,要到这样的文章,不管是多高的档次, 直接pass。 最近在调研最近几年的关于Computational Photography的一些研究热点时, 发现图像去模糊这个领域非常活跃, 一些效果图还是蛮有意思的。 于是大概浏览了其中的几篇文章, 慢慢地我的这种偏见也消失了。 当数码消费电子日益普及的时候, 这项技术确实非常有用。它能挽救相当一批由于曝光时间过长或者拍摄 时手的抖动造成的模糊照片

     

    图像的模糊按照模糊核的性质来分类可分为: Blind image deconvolution(BID 芒去卷积)和Non-blind image deconvolution(NBID 非芒去卷积)。BID就是在模糊核未知的情况下恢复出清晰的图像。在这种情况下, 除了采集到的图像, 其他的没有任何任何信息。 NBID是在模糊核已知的情况下恢复出清晰的原始图像。 因为有了模糊核这个非常重要的信息, 去卷积的工作就相对来说容易多了, 主要任务就是如何在保持细节的情况下抑制噪声。过去三四十年, 很多研究都集中在这个领域, 也有了不少很实用的方法,比如维纳滤波 Richardson-Lucy方法。后来有些方法是基于去噪方法的, 比如傅立叶小波Curvelet,和TV方法。 一般来说, NBID是BID的基础。 一旦模糊核估计出来, 所有的NBID方法都可以在BID中使用。

     

    按照模糊的区域来划分, 又可分为:全局模糊局部模糊。 全局的模糊主要是由于拍摄设备的运动造成的, 而局部模糊是由于单个物体的 运动造成的。 从实用性来说, 全局模糊要好于局部模糊。 理由有三: (1)全局模糊可以用一个模糊核来恢复, 因此最主要的任务就是PSF的估计, 而局部模糊的模糊核是随位置变化的, 难道要大很多,结果也就不稳定很多。(2)造成全局模糊的原因是手持拍摄设备在曝光时间比较长的情况下进行拍摄,在拍摄过程中经常能遇到。而局部模糊仅仅限于对运动物体的拍摄, 比如运动的汽车或者行走中的人, 一般说来, 拍摄这些场景的机会比较有限, 实用性也不大。(3)全局模糊在绝大部分情况下都是不期望的效果, 而局部模糊在很多时候是不需要去除的,甚至是刻 意追求的一种效果。

     

    信息源分类可分为:单幅图像去模糊带辅助信息的图像去模糊。 单幅图像去模糊顾名思义, 输入只有一幅图像, 没有别的任 何信息。 这也是最常见的去模糊场景。 带辅助信息的图像去模糊除了有一幅待出来的图像以外, 还有其他的一些辅助信息用来估 算模糊核。 这里的辅助信息包括:(1)连续两帧图像 (2)一帧不模糊单噪声比较大的图像 (3)不同曝光时间的三幅或者n幅图 像(4)一段低分辨率视频(5)对曝光时间的编码(6)对镜头的改造(7)。。。虽然每一个作者都强调这些辅助设备比较廉价,辅助信息比较容易获得。但对非专业的普通用户来说, 要得到这些辅助信息是不大现实的。

     

    综合这些因素考虑, 我个人认为目前最有实用价值的仍然是single image blind motion deblurring。 这方面, Rob Fergus等在2006 年的siggraph上发表了一篇文章非常有新意,效果也还不错。 难能可贵的是, 这篇文章留下了很多漏洞, 能让后人在此基础上对 这项工作有所完。 果不其然,在随后几年的cvpr, siggraph, iccv, eccv上, 几乎每届都有更好的结果涌现。这里主要介绍 2006年的这篇“ Siggraph Removing Camera Shake From a Single Photograph”。

     

    以 往的芒去卷积方法要么对卷积核有很强的先验假设, 要么对图像有一定的先验假设, 或者两者都有。 而且, 这些方法往往不大适合较大的模糊核。 Fergus等提出的方法完全抛弃了这些束缚, 实现了真正意义上的实用的BID。 在此文中, 图像去模糊主要被划分成了两步:卷积核的估计和去模糊。 其中去模糊可以采用任何一种现有的算法, 因此此文的重点集中在了模糊核的估计上。 基于对图像模型统计特性的分析, 此文深入研究了模糊图像和非模糊图像的梯度分布, 提出了一种基于梯度分布模型的去模糊算法。自然的清晰的图像满足特定的heavy-tailed distribution, 而模糊图像的梯度分布则想去甚远。 因此Fergus等基于这种特性构造了在已知观测图像情况下原始图像和模糊核的联合后验概率, 后验概率最大化对应的原始图像和卷 积核的组合就是所要的答案。 然而直接解这个MAP(Maximum a Posterior)问题, 却得不到正确的答案。 因此作者采用了一种学习的方 法, 即MISKIN和MACKAY,在Ensemble Learning for Blind Image Separation and Deconvolution中提到的方法。这也是作者认为的两大贡献。

     

    Fergus在paper和ppt中都给出了一些结果,其实结果都不能完全令人满意, 有的恢复的效果不够好, 有的噪声实在太大。 但作者也说他的paper有不少可改进的地方, 言外之意就是此文只是提出了一种思想, 效果有待完善。 这也让本文留下了不少可研究的空间, 个人认为有以下三个方面可以改进:(1)图像模型的选择。梯度模型只是选取了相邻的两个点的统计特性, 有点过于简单。 清晰图像有很大可能满足作者采用的heavy-tailed distribution, 但满足这种分布的一定是效果比较好的清晰图像吗? Gibbs效应如何克服?此文并没有深入研究 (2)MAP算法的优化 (3)本文采用的R-L这个经典古老的算法, 肯定有其他更好的算法能改善图像质量。简单来说, 就是作者挖了个坑, 自己并不想填, 让别人慢慢去填。也许不远的某一天,我也会在这里填一个坑, Maybe。

     

    下面是我自己搜集的最近几年关于deblur的一些论文列表,在网上都可以找到。

    2004 PAMI Motion-based motion deblurring
    2006 NIPS Blind motion deblurring using image statistics
    2006 Siggraph Coded Exposure Photography Motion Deblurring using Fluttered Shutter
    2006 Siggraph Removing Camera Shake From a Single Photograph
    2007 CVPR Resolving Objects at Higher Resolution from a Single Motion-blurred Image
    2007 CVPR Single Image Motion Deblurring Using Transparency
    2007 CVPR What makes a good model of natural images
    2007 Siggraph Image Deblurring with BlurredNoisy Image Pairs
    2008 CVPR ImageVideo Deblurring using a Hybrid Camera
    2008 CVPR Motion from Blur
    2008 CVPR PSF Estimation using Sharp Edge Prediction
    2008 CVPR Roubust Dual Motion Deblurring
    2008 Siggraph High-Quality Motion Deblurring From a Single Image
    2008 Siggraph Motion-invariant photography
    2009 CVPR High-quality curvelet-based motion deblurring using an image pair
    2009 CVPR Image Deblurring and Denoising using Color Priors
    2009 CVPR Understanding and evaluating blind deconvolution algorithms
    2009 ICCP Image Destabilization Programmable Defocus using Lens and Sensor Motion
    2009 ICCP What are Good Apertures for Defocus Deblurring
    2009 ICCV Time-Constrained Photography
    2010 CVPR Deconvolutional Networks
    2010 CVPR Denoising vs. Deblurring HDR Imaging Techniques Using Moving Cameras
    2010 CVPR Non-uniform Deblurring for Shaken Images
    2010 ECCV Single Image Deblurring Using Motion Density Functions
    2010 ECCV Two-Phase Kernel Estimation for Robust Motion Deblurring
    2010 ICCP Motion blur removal with orthogonal parabolic exposures
    2010 Siggraph Image Deblurring using Inertial Measurement Sensors
    2010 TPAMI Correction of Spatially Varying Image and Video Motion Blur Using a Hybrid Camera

     

    以下两幅图摘自jiaya jia研究小组的结果http://www.cse.cuhk.edu.hk/~leojia/projects/robust_deblur/index.html , 个人觉得这是目前最好的结果了, 效果还是很吸引人的。

    输入图像:



    输出图像:






    展开全文
  • 《数字图像处理-MATLAB》运动模糊图像复原 图像复原技术也常被称为图像恢复技术图像复原技术能够去除或减轻在获取数字图像过程中发生的图像质量下降(退化)问题,从而使图像尽可能地接近于真实场景
  • 运动模糊图像复原研究的整体思路主要是用matlab中的 imfilter()函数对图像进行线性空间滤波,产生运动模糊图像,建立退化模型→ 通过radon变换来获取模糊参数,即点扩散函数PSF→ 最后由估计得出的PSF再用维纳滤波...

          运动模糊图像复原研究的整体思路主要是用matlab中的 imfilter()函数对图像进行线性空间滤波,产生运动模糊图像,建立退化模型 → 通过radon变换来获取模糊参数,即点扩散函数PSF → 最后由估计得出的PSF再用维纳滤波对图像进行复原。由仿真实验得知,在已知PSF的情况下使用自相关函数的维纳滤波法对图像进行复原可以获得较好的复原效果,因此难点在于如何精确地估计运动模糊参数PSF。

    1、基本原理:

          点扩散函数PSF主要有两个重要参数:(1)模糊方向;(2)模糊尺度。本次主要是针对第一个参数----模糊方向的估计进行了研究。运动模糊方向是指运动方向与水平方向的夹角,由文献得知运动模糊主要是降低了运动方向的高频成分,而对其他方向的高频成分影响较小。常见的辨识方法有频域法和倒谱法,wym 两种方法都试过,仿真实验结果表两种方法各有好处。

          频域法的原理是将退化图像进行二维傅里叶变换,得到具有相互平行的规则明暗条纹的频谱。设暗纹与 x 轴正向夹角为 φ ,运动模糊方向与 x 轴夹角为 θ ,图像尺寸为 M × N,根据傅里叶变换的时频特性可以知道,可通过公式 tan(θ) = tan(φ − 90°) × M/N  得到模糊角度 θ ,因此只要通过 Radon 变换检测出频谱暗条纹与水平方向的夹角即可到运动模糊方向。

          倒谱法的主要原理是先将退化图像进行二维傅里叶变换,然后取对数,再进行反傅里叶变换得到退化图像的倒频谱,分离出退化图像的模糊信息,进而通过 Radon 变换得到运动模糊方向。

          Radon 变换是对频谱图上某一指定角度进行线积分,通过计算1°~180°的Radon变换得到180列的矩阵 R,每一列向量是图像在一个角度上沿一族直线的积分投影,因为积分直线束与频谱中的亮暗条纹平行,所以所得的投影向量中应有一个最大值,在频域法中最大值所对应的列数就等于模糊方向与x轴正方向水平夹角;在倒谱法中,最大值对应的列数 ±90°即为所求的模糊角度。

          具体理论和公式推导就不列出来了。。有兴趣的同学请 STFW。。(什么?不知道什么是 STFW? 请自行 STFW。。)

    2、算法实现:

      (1)频域法

        1)     对模糊图像进行灰度化,并计算其二维傅里叶变换;

        2)     对傅里叶变换值的动态范围进行压缩;

        3)     对压缩后的结果进行循环移位,使其低频成分居中;

        4)     用canny算子对压缩居中后的频谱图像进行边缘检测使其二值化;

        5)     将二值化后的频谱图做从1°~180°的radon变换;

        6)     找出radon变换后的矩阵中的最大值,求出其对应的列数 n;

        7)     通过公式 tan(θ) = tan(φ − 90°) × M/N  = tan(n − 90°) × M/N 求出运动模糊方向。

        实现代码:

        

     1 close all;
     2 clear all;
     3 
     4 %% 读入并显示图像
     5 filename = 'ex.jpg';
     6 I = imread(filename);
     7 
     8 figure
     9 imshow(uint8(I));
    10 title('原图');
    11 
    12 %% 生成运动模糊图像
    13 PSF = fspecial('motion',50, 120);
    14 g = imfilter(I, PSF, 'circular');
    15 figure 
    16 imshow(uint8(g));
    17 title('运动模糊图');
    18 
    19 %% 对运动模糊图像进行灰度化,并进行二维快速傅里叶变换,生成其频谱图
    20 gb = rgb2gray(g);
    21 figure
    22 imshow(uint8(gb));
    23 PQ = paddedsize(size(gb));
    24 F = fft2(gb, PQ(1), PQ(2));
    25 figure
    26 imshow(uint8(F));
    27 
    28 
    29 %% 将频谱压缩,居中
    30 H = log(1+abs(F));
    31 Hc = fftshift(H);
    32 figure
    33 imshow(uint8(Hc));
    34 
    35 %% 用canny算子将压缩居中后的频谱图进行边缘检测,二值化
    36 T = graythresh(Hc);
    37 bw=edge(Hc, 'canny', T);
    38 figure
    39 imshow(bw);
    40 
    41 %% 对二值化后的频谱图进行radon变换
    42 theta = 1:180;
    43 R = radon(bw, theta);
    44 figure
    45 imshow(R);
    46 
    47 %% 计算出通过radon变换求出的模糊角度
    48 MAX = max(max(R));
    49 [m, n] = find(R == MAX);
    50 [M,N] = size(Hc);
    51 beita = atan(tan(n*pi/180)*M/N)*180/pi;

     

         (2)倒谱法:

            

           1)     对模糊图像进行灰度化,并计算其二维傅里叶变换;

           2)     对傅里叶变换取对数,平方后再进行一次反傅里叶变换得到其倒频谱;

           3)     对倒频谱动态范围进行压缩;

           4)     对压缩后的结果进行循环移位,使其低频成分居中;

           5)     用canny算子对压缩居中后的频谱图像进行边缘检测使其二值化;

           6)     将二值化后的频谱图做从1°~180°的radon变换;

           7)     找出radon变换后的矩阵中的最大值,其对应的列数±90°即为所求的模糊方向。

           实现代码:

           

     1 close all;
     2 clear all;
     3 
     4 %% 读入并显示图像
     5 filename = 'ex.jpg';
     6 I = imread(filename);
     7 
     8 figure
     9 imshow(uint8(I));
    10 title('原图');
    11 
    12 %% 生成运动模糊图像
    13 PSF = fspecial('motion',80, 150);
    14 g = imfilter(I, PSF, 'circular');
    15 figure 
    16 imshow(uint8(g));
    17 title('运动模糊图');
    18 
    19 %% 对运动模糊图像进行灰度化,并进行二维快速傅里叶变换,生成其频谱图
    20 gb = rgb2gray(g);
    21 figure
    22 imshow(uint8(gb));
    23 PQ = paddedsize(size(gb));
    24 F = fft2(gb, PQ(1), PQ(2));
    25 figure
    26 imshow(uint8(F));
    27 
    28 %% 作出倒频谱
    29 F1 = log(1+abs(F));
    30 F2 = abs(F1).^2;
    31 F3 = real(ifft2(F2));
    32 figure
    33 imshow(uint8(F3));
    34 
    35 
    36 %% 将倒频谱压缩,居中
    37 H = log(1+abs(F3)); % 将倒频谱动态范围进行压缩
    38 Hc = fftshift(H); % 将压缩结果进行循环移位,使低频成分居中
    39 figure
    40 imshow(uint8(Hc));
    41 
    42 %% 通过阈值处理,边缘检测“canny”算子二值化倒频谱
    43 T = graythresh(Hc);
    44 bw=edge(Hc, 'canny', T);
    45 figure
    46 imshow(bw);
    47 
    48 %% 对倒频谱从1°到180°作radon变换,以求出模糊角度
    49 theta = 1:180;
    50 R = radon(bw, theta);
    51 figure
    52 imshow(R);
    53 
    54 %% 计算出通过倒频谱radon变换估计出的模糊角度
    55 MAX = max(max(R));
    56 [m, n] = find(R == MAX);
    57 if 90 < n <= 180
    58    beita = n - 90;
    59 else if 0 < n < 90
    60         beita = n + 90;
    61     else if n == [90;90] | n == [180;180]
    62             beita = n(1);
    63         end;

     

    7、仿真结果及算法评价:

         经过反复、多次、令人崩溃的调试参数,得出结论,模糊角度估计的精确度主要与边缘检测的阈值 T,运动模糊尺度和运动模糊方向这三个变量有关,经调试,阈值选取由graythresh 函数算出的全局阈值效果较好,而模糊尺度越小精度越低。

          频域法:当模糊尺度大于20像素时,模糊方向处于0°~90°时,检测效果很好,误差低于0.5°,但当模糊尺度低于20像素时,由于中心化处理致使频谱图中间出现的十字亮线使模糊方向常为90°或180°;而当模糊尺度大于90°时,估计到的模糊方向像脱缰的野马。。完全不知道怎么才能估计出如此恶心的数据的。。

         倒谱法:当模糊尺度大于40像素时,可以检测的模糊方向较大,基本从0°到180°都可以检测,不过误差在5°左右,模糊尺度小于40像素时误差就很大了,不能用作检测

     

                                                                                                                                           。。。。。。。。。。以上

     

    转载于:https://www.cnblogs.com/yomman/p/3424494.html

    展开全文
  • 下面来介绍一下用MATLAB程序实现由于运动造成的图像模糊的实例,具体如下: 1、打开MATLAB软件,在其主界面的编辑器中写入下列代码: %用MATLAB程序实现由于运动造成的图像模糊的实例 I=imread('G:\MATLAB\bm.bmp...

    下面来介绍一下用MATLAB程序实现由于运动造成的图像模糊的实例,具体如下:

    1、打开MATLAB软件,在其主界面的编辑器中写入下列代码:

    %用MATLAB程序实现由于运动造成的图像模糊的实例
    I=imread('G:\MATLAB\bm.bmp');   %读取图片
    figure(1);imshow(I);
    %设置运动位移为30个像素
    LEN=30;
    %设置运动角度为75度
    THETA=75;
    %建立二维仿真线性运动滤波器PSF
    PSF=fspecial('motion',LEN,THETA);
    %用PSF产生退化图像
    MF=imfilter(I,PSF,'circular','conv');
    figure(2);imshow(MF);
    %运动模糊的图像
    wnr=deconvwnr(MF,PSF);
    figure(3);imshow(wnr);

    2、保存在自定义路径下,然后点击运行,结果如下:

     

     

    可以看出,经过运动位移30个像素,角度为75的处理,建立二维仿真线性运动滤波器PSF,对图像进行模糊处理,再利用deconvwnr函数形成运动模糊的图像,至此就介绍完毕,请大家继续关注!!!

     

    展开全文
  • 运动模糊产生:假设图像f(x,y)进行平面运动,x0(t)和y0(t)分别是在x和y方向上随时间变化的量。则有表达式如下,g(x,y)为转换后该点的灰度值,f(x,y)为原图中对应点的灰度值。 计算后的g(x,y)值将大于255,因此这里...

    运动模糊原理
    运动模糊产生:假设图像f(x,y)进行平面运动,x0(t)和y0(t)分别是在x和y方向上随时间变化的量。则有表达式如下,g(x,y)为转换后该点的灰度值,f(x,y)为原图中对应点的灰度值。
    计算后的g(x,y)值将大于255,因此这里采用除T的方式将值映射到0~255的范围内。

    这里写图片描述

    #include <opencv2/opencv.hpp>
    using namespace cv;
    using namespace std;
    /*
    1.  使用C++实现运动模糊的效果
    (假设图像f(x,y)进行平面运动,x0(t)和y0(t)是X和Y方向上随时间变化的分量,
    任意点的曝光总数是通过对时间间隔内瞬时曝光量的积分得到的)
    */
    
    //积分函数 
    //图 点x坐标 点y坐标 运动方向上的变化参数 积分范围(0~T) 积分delta
    double fun(Mat srcImg,double x,double y,double temp, double T,double s){
        double result = 0;
    
        double delta = T * (s );
    
        //delta:用模拟法求积分时每小块delta的宽度
        for (double t = 0; t < T; t+=delta)
        {
            double tx,ty;
            tx = x-t*temp;
            ty = y-t*temp;
            if(tx < 0)
                tx = 0;
            if(ty < 0)
                ty = 0;
            result += srcImg.at<double>(tx,ty) * delta;
    
            //cout<<result<<endl;
            //system("PAUSE");
        }
        return result/T;
    }
    
    //src图 dest图 运动方向上的变化参数 积分范围(0~T) 积分delta
    void motionBlur(Mat srcImg, Mat &destImg, double temp,double T, double s)
    {
        int width = srcImg.cols;
        int height = srcImg.rows;
        //double tempX, tempY;
        double sumValue;
    
        destImg = Mat::zeros(height, width, CV_64FC1);
        srcImg.convertTo(srcImg, CV_64FC1);
    
        for (int i=0; i<height; i++)
        {
            for (int j=0; j<width; j++)
            {
                sumValue = fun(srcImg,i,j,temp,T,s);//求该点积分 
                //cout<<sumValue<<endl;
                //system("PAUSE");
                sumValue = sumValue > 255 ? 255 : sumValue;//避免溢出 
                destImg.at<double>(i, j) = (double)sumValue;
            }
        }
        destImg.convertTo(destImg, CV_8UC1);
    }
    
    int main()
    {
        Mat img = imread("C:\\test.jpg");
        Mat result,grayImage;
        cvtColor(img, grayImage, CV_BGR2GRAY);
        motionBlur(grayImage, result,50 ,15, 0.1);
        imshow("gray", grayImage);
        imshow("motionBlur Image", result);
        waitKey();
        return 0;
    }
    展开全文
  • 这是我用Matlab写的,用维纳滤波处理运动模糊,请高手指点一下,希望对大家有帮助
  • 基于运动模糊图像产生的原因,自编一个生产运动模糊图像的matlab程序,程序 需要输入模糊长度,默认模糊角度为0,包含一张图片
  • 产生模糊和噪声的原因有很多,比如拍摄环境的不稳定、拍摄设备的不精密、拍摄对象的快速运动、空气气流的扰动、储存与传输过程电路产生的错误等,本文要考虑的是由于拍摄对象和拍摄设备相对运动引起的运动模糊。...
  • theta = 30;  len = 20; fil = imrotate(ones(1, len), theta, 'bilinear'); fil = fil / sum(fil(:)); figure(1), imshow(im); figure(2), imshow(imfilter(im, fil));
  • 申明:本资源提供matlab版的图像复原常用的运动模糊仿真图像生成程序,未经授权,仅供研究使用,不得使用于任何商用场合。 仿真程序提供2种途径:空域仿真方法和频域仿真方法。
  • 如果在相机曝光期间景物和摄像机之间存在相对运动,例如用照相机拍摄快速运动的物体,或者从行驶中的汽车上拍摄外面静止不动的景物时,拍得的照片都可能存在模糊的现象,这种由于相对运动造成图像模糊现象就是运动...
  • 在这篇博文中,主要想记录一下自己使用c++实现的过程...2. 拟合好的模糊核一般是浮点型数据,这个是要直接用来复原模糊图像的。但是在显示模糊核时,我采用了下面的方法,效果更好。showimage = (kernel-minValue)/m...
  • 运动模糊图像复原

    2020-07-04 23:31:21
    运动模糊图像复原 图像复原技术也常被称为图像恢复技术图像复原技术能够去除或减轻在获取数字图像过程中发生的图像质量下降(退化)问题,从而使图像尽可能地接近于真实场景。
  • 摘 要:通过对运动模糊产生原因的分析,提出了一种去运动...实验结果表明,这样的空间域处理方法,不但可以避免传统的频率域去模糊方法产生的震铃效应,而且该方法具有良好的抗噪性和对运动模糊参数估计误差的低敏感性。
  • 当我们按下快门拍照时,如果照片里的事物(或者我们的相机)正在运动的话,我们拍出的照片就会产生运动模糊。 二. motion filter 图1:大小为3*3,对角线方向上的运动模糊算子 ↑ 图2:大小为5*5,竖直...
  • 图像复原代码。运动模糊图像复原、非约束复原、逆滤波复原、维纳滤波复原等
  • 图像模糊处理方法

    2018-10-17 11:58:14
    1.对焦模糊 ... 为了便于用数学语言描述图像及其变换,现作如下规定:图像的左上角为坐标原点(0,0),图像的长度方向为x轴,宽度方向为y轴,整个图像落在第一象限。  假设无任何模糊和噪声的...
  • 最近需要处理运动模糊图像,查阅了资料发现维纳滤波是个不错的方法,于是借鉴了高人的一些资料,比如:论坛:http://bbs.csdn.net/topics/390338193代码:http://download.csdn.net/detail/suseyaoyao/4976475首先...
  • 视频图像模糊常用处理方法 随着“平安城市”的广泛建设,各大城市已经建有大量的视频监控系统,虽然监控系统己经广泛地存在于银行、商场、车站和交通路口等公共场所,但是在公安工作中,由于设备或者其他条件的...
1 2 3 4 5 ... 20
收藏数 7,927
精华内容 3,170