zoukankan      html  css  js  c++  java
  • 数字图像处理之复原处理

    数字图像处理之傅里叶变换

                                                            by方阳

    版权声明:本文为博主原创文章,转载请指明转载地址

     http://www.cnblogs.com/fydeblog/p/7070055.html

    1. 前言

     

    这篇博客主要介绍常见的噪声及其概率密度函数,并用MATLAB复原函数对退化图像进行复原处理。这里复原是指在图像已经有噪声污染的情况下复原,与直接用傅里叶正反变换不一样

    2. 原理说明

    (1) 常见噪声:椒盐噪声和高斯噪声

    椒盐噪声是指两种噪声,一种是盐噪声,另一种是胡椒噪声。盐=白色,椒=黑色。前者是高灰度噪声,后者属于低灰度噪声。一般两种噪声同时出现,呈现在图像上就是黑白杂点。概率函数两极分化;

    高斯噪声是指它的概率密度函数服从高斯分布(即正态分布)的一类噪声;

    (2)图像复原是用去卷积函数实现的,用原图像卷积点扩散函数(点扩散函数即是一种运动模糊的算子),然后加入高斯噪声。然后用去卷积来恢复图像,有两种,一种不加入噪声估计,一种加入噪声估计,得到不同的恢复效果;

    3. 实现内容

    (1)     构造一个矩形方块图像,对其分别加入高斯和椒盐噪声,显示原始图像和噪声图像,及每个图片相对应的直方图。

    (2)     任意选择一幅图像,对其使用运动模糊处理,再在模糊图像中加入高斯噪声,使用逆滤波和winner滤波对其进行去退化处理,比较效果,显示原始图像和复原图像。

    4. 程序实现及实验结果

    (1)噪声对图像直方图的影响

    f(1000,1000)=0;
    f=mat2gray(f);
    [Y,X]=meshgrid(1:1000,1:1000);
    f(1:500,1:500)=1;
    f(500:1000,500:1000)=1;
    I=f;
    I1=imnoise(I,'salt & pepper',0.02);
    I2=imnoise(I,'gaussian',0,0.01);
    figure;
    subplot(2,3,1);
    imshow(I);
    title('原图');
    subplot(2,3,2);
    imshow(I1);
    title('椒盐噪声后的图像');
    subplot(2,3,3);
    imshow(I2);
    title('高斯噪声后的图像');
    subplot(2,3,4);
    imhist(I);
    title('原图直方图');
    subplot(2,3,5);
    imhist(I1);
    title('椒盐噪声图像的直方图');
    subplot(2,3,6);
    imhist(I2);
    title('高斯噪声图像的直方图');
    

    运行结果:

    (2)逆滤波与winner滤波

    I_1=imread('cameraman.tif');
    PSF=fspecial('motion',21,11);
    I3=imfilter(I_1,PSF,'conv','circular');
    I3=imnoise(I3,'gaussian',0,0.0001);
    I4=deconvwnr(I3,PSF);
    I_1=im2double(I_1);
    estimated_nsr=0.0001/var(I_1(:));
    I5=deconvwnr(I3,PSF,estimated_nsr);
    figure;
    subplot(2,2,1);
    imshow(I_1);
    title('原图');
    subplot(2,2,2);
    imshow(I3);
    title('模糊+噪声');
    subplot(2,2,3);
    imshow(I4);
    title('逆滤波');
    subplot(2,2,4);
    imshow(I5);
    title('winner滤波');
    

    运行结果:

    五. 结果分析

    (1)从图1可以看出,原图(黑白图)直接是两极分化,加入椒盐噪声后直方图没有变化,因为椒盐噪声也是两极分化,加入高斯噪声可以看出直方图有高斯形状;

    (2)从图2可以看出,用逆滤波出来的图像很不理想,用winner滤波出来的图像还行,看出图像恢复,信噪比是不可忽略的因素啊!

     

  • 相关阅读:
    Kinect 开发 —— 硬件设备解剖
    Kinect 开发 —— 引言
    (转)OpenCV 基本知识框架
    OpenCV —— 摄像机模型与标定
    OpenCV —— 跟踪与运动
    OpenCV —— 图像局部与分割(二)
    OpenCV —— 图像局部与部分分割(一)
    OpenCV —— 轮廓
    OpenCV —— 直方图与匹配
    OpenCV —— 图像变换
  • 原文地址:https://www.cnblogs.com/fydeblog/p/7070055.html
Copyright © 2011-2022 走看看