数字图像处理实验三:图像的复原

更新时间:2023-05-27 17:00:15 阅读: 评论:0

          通信工程学院
  表格大小怎么调验   
          数字图像处理C     
    实验项目名称  实验三 图像的复原   
            算通111       
              夏婷         
                  208110408       
        201455   
            信息楼C322     
    实验成绩评定                       
    指导教师签名                       
                       
实验三、图像的恢复
一、实验类型:验证性实验
二、实验目的
    1.  掌握退化模型的建立方法。
    2. 掌握图像恢复的基本原理。
三、实验设备:安装有MATLAB 软件的计算机
四、实验原理
    一幅退化的图像可以近似地用方程g=Hf+n 表示,其中g 为图像,H为变形算子,又称为点扩散函数(PSF ),f 为原始的真实图像,n 为附加噪声,它在图像捕获过程中产生并
裴多菲俱乐部
且使图像质量变坏。其中,PSF 是一个很重要的因素,它的值直接影响到恢复后图像的质量。
          I=imread(‘peppers.png’);
          I=I(60+[1:256],222+[1:256],:);
          figure;imshow(I);
   
          LEN=31;
          THETA=11;
          PSF=fspecial(‘motion’,LEN,THETA);
          Blurred=imfilter(I,PSF,’circular’,’conv’);
          figure;imshow(Blurred);
MATLAB 工具箱中有4 个图像恢复函数,如表3-1 所示。这4 个函数都以一个PSF 和模糊图像作为主要变量。deconvwnr 函数使用维纳滤波对图像恢复,求取最小二乘解,deconvreg 函数实现约束去卷积,求取有约束的最小二乘解,可以设置对输出图像的约束。deconvlucy  函数实现了一个加速衰减的Lucy-Richardson 算法。该函数采用优化技术和泊松统计量进行多次迭代。使用该函数,不需要提供有关模糊图像中附加噪声的信息。 deconvblind 函数使用的是盲去卷积算法,它在不知道PSF 的情况下进行恢复。调用deconvblind  函数时,将PSF  的初值作为一个变量进行传递。该函数除了返回一个修复后的图像以外,还返回一个修复后的PSF。下面以维纳滤波和约束去卷积为例说明图像恢复的实验原理。
deconvwnr
使用维纳滤波对图像恢复
deconvreg
对图像进行约束去卷积
毒舌是什么意思deconvlucy
Lucy-Richardson 算法实现图像恢复
deconvblind
用盲去卷积算法实现图像恢复
1.  维纳滤波
    使用deconvwnr 函数可以利用维纳滤波方法恢复图像。在图像的频率特征和附加噪声已知的情况下,Wiener 滤波比较有效。本例演示了维纳滤波器的性能,同时也演示了PSF 什么是主板的重要性。得到准确的PSF 时,恢复的结果会比较好。
          I=imread(‘peppers.png’);
          I=I(10+[1:256],222+[1:256],:);
          LEN=31;
          THETA=11;
          PSF=fspecial(‘motion’,LEN,THETA);
          Blurred=imfilter(I,PSF,’circular’,’conv’);
          wnrl=deconvwnr(Blurred,PSF);
          imshow(wnrl);
2. 约束去卷积
    采用deconvreg 函数可以对图像进行约束去卷积。当知道附加噪声的部分信息时,使用约束去卷积实现图像恢复比较有效。
1)将一幅图像读入瘦肉汤MATLAB 工作空间。本例使用裁剪来减小要恢复的图像的大小。
          I=imread('flowers.tif');
          I=I(10+[1:256],222+[1:256],:);
          figure;imshow(I);
2 )创建PSF
            PSF=fspecial(‘gaussian’,11,5);
3)模糊化图像并添加噪声。
            Blurred=imfilter(I,PSF,’conv’);
            V=0.02;
            BlurredNoisy=imnoi(Blurred,’gaussian’,0,V);
            figure;imshow(BlurredNoisy);
4 )用deconvreg 函数恢复图像,指定PSF 和噪声幂次NP
            NP=V*prod(size(I));
            [reg1 LAGRA]=deconvreg(BlurredNoisy,PSF,NP);
            figure,imshow(reg1);
五、实验内容
    选择一幅清晰图像,对该图像进行模糊化处理,然后分别采用逆滤波、 维纳滤波和约束去卷积恢复原来图像,比较各图像恢复方法的恢复效果。
六、实验步骤与结果
将一张图片
1、(1)选择一幅清晰图像,对该图像进行模糊化处理
I=imread('b.jpg');                        %读入图像
I=I(60+[1:256],222+[1:256],:);            %裁剪图像。
figure;imshow(I);                          %创新建图像并显示
LEN=31;
THETA=11;
PSF=fspecial('motion',LEN,THETA);      %慢慢吞吞对图像进行模糊
Blurred=imfilter(I,PSF,'circular','conv');  %创建PSF的退化图像
figure;imshow(Blurred);                  %创建图像并显示模糊后的图像
   
2)、使用deconvwnr 函数可以利用维纳滤波方法恢复图像。
I=imread('b.jpg');                          %读入图像
I=I(10+[1:256],222+[1:256],:);              %裁剪图像孩子教育方法
LEN=31;
THETA=11;
PSF=fspecial('motion',LEN,THETA);        %创建PSF的退化图像
Blurred=imfilter(I,PSF,'circular','conv'精美配图); %使用IPF对图像进行模糊建模
wnrl=deconvwnr(Blurred,PSF);                %维纳滤波
imshow(wnrl);                              %显示滤波后的图像
结果如图所示:
2,、(1)将一幅图像读入MATLAB 工作空间。本例使用裁剪来减小要恢复的图像的大小。
I=imread('b.jpg');                      %读入图像
I=I(10+[1:256],222+[1:256],:);          %裁剪图像
figure;imshow(I);                        %并显示创建图像

本文发布于:2023-05-27 17:00:15,感谢您对本站的认可!

本文链接:https://www.wtabcd.cn/fanwen/fan/82/793617.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:图像   恢复   函数   实验   进行
相关文章
留言与评论(共有 0 条评论)
   
验证码:
推荐文章
排行榜
Copyright ©2019-2022 Comsenz Inc.Powered by © 专利检索| 网站地图