第四次数字图像处理技术实验.docx
《第四次数字图像处理技术实验.docx》由会员分享,可在线阅读,更多相关《第四次数字图像处理技术实验.docx(12页珍藏版)》请在冰豆网上搜索。
第四次数字图像处理技术实验
甘肃政法学院
本科生实验报告
(4)
姓名:
学院:
专业:
班级:
实验课程名称:
数字图像处理
实验日期:
2016年5月17日
开课时间:
学年第二学期
甘肃政法学院实验管理中心印制
实验题目
图像分割,图像复原,图像重建
小组合作
姓名
班级
学号
一、实验目的
1.熟悉matlab图像处理工具箱及图像边缘检测函数的使用;
2.理解和掌握图像边缘检测(Sobel、Prewitt、Log边缘算子)的方法和应用;
3.掌握用阈值法进行图像分割的基本方法。
二.实验环境
Matlab实验室
三、实验内容与步骤
1.使用Roberts算子的图像分割实验
调入并显示图像room.tif中图像;使用Roberts算子对图像进行边缘检测处理;Roberts算子为一对模板:
相应的矩阵为:
rh=[01;-10];rv=[10;0-1];这里的rh为水平Roberts算子,rv为垂直Roberts算子。
分别显示处理后的水平边界和垂直边界检测结果;用“欧几里德距离”和“街区距离”方式计算梯度的模,并显示检测结果;对于检测结果进行二值化处理,并显示处理结果;
(2)使用Prewitt算子的图像分割实验,使用Prewitt算子进行内容
(1)中的全部步骤。
(3)使用Sobel算子的图像分割实验
使用Sobel算子进行内容
(1)中的全部步骤。
(4)使用LoG(拉普拉斯-高斯)算子的图像分割实验
使用LoG(拉普拉斯-高斯)算子进行内容
(1)中的全部步骤。
提示1:
处理后可以直接显示处理结果,无须另外计算梯度的模。
提示2:
注意调节噪声的强度以及LoG(拉普拉斯-高斯)算子的参数,观察处理结果。
2、图像在形成、传输和记录的过程中,由于受多种原因的影响,图像的质量会有下降,典型表现为图像模糊、失真、有噪声等。
这一降质的过程称为图像的退化。
而图像复原试图利用退化现象的某种先验知识(即退化模型),把已经退化了得图像加以重建和复原。
其目的就是尽可能地减少或去除在获取图像过程中发生的图像质量的下降(退化),恢复被退化图像的本来面目。
四、实验过程与分析
I = imread('cameraman.tif');
J1=edge(I,'sobel');
J2=edge(I,'prewitt');
J3=edge(I,'log');
subplot(1,4,1),imshow(I);
subplot(1,4,2),imshow(J1);
subplot(1,4,3),imshow(J2);
subplot(1,4,4),imshow(J3);
原始图像:
Sobel边缘算子:
Prewitt边缘算子:
Log边缘算子:
fid=fopen('lena.img','r');
im=(fread(fid,[256,256],'uint8'))';
im=im2double(uint8(im));
im_R=edge(im,'Roberts');
im_P=edge(im,'Prewitt');
im_S=edge(im,'Sobel');
im_L=edge(im,'Log');
colormap(gray);
subplot(321);imshow(im);title('源图像');
subplot(323);imshow(im_R);title('Roberts检测');
subplot(324);imshow(im_P);title('Prewitt检测');
subplot(325);imshow(im_S);title('Sobel检测');
subplot(326);imshow(im_L);title('Log检测');
源图像:
读入一副图像,加入运动模糊和椒盐噪声;
用维纳滤波复原函数deconvwnr对模糊图像进行复原重建
%读入、显示原图像
I=im2double(imread('cameraman.tif'));
imshow(I);
title('OriginalImage(courtesyofMIT)');
%模拟运动模糊
LEN=21;
THETA=11;
PSF=fspecial('motion',LEN,THETA);
blurred=imfilter(I,PSF,'conv','circular');
figure,imshow(blurred)
%模拟加性噪声
noise_mean=0;
noise_var=0.0001;
blurred_noisy=imnoise(blurred,'gaussian',noise_mean,noise_var);
figure,imshow(blurred_noisy)
title('SimulateBlurandNoise')
%尝试恢复假设没有噪声
estimated_nsr=0;
wnr2=deconvwnr(blurred_noisy,PSF,estimated_nsr);
figure,imshow(wnr2)
title('RestorationofBlurred,NoisyImageUsingNSR=0')
%尝试恢复对噪声对信号功率比进行更好的估计
estimated_nsr=noise_var/var(I(:
));
wnr3=deconvwnr(blurred_noisy,PSF,estimated_nsr);
figure,imshow(wnr3)
title('RestorationofBlurred,NoisyImageUsingEstimatedNSR');
实验中用到源程序代码;
clear
%读入、显示原图像
I=im2double(imread('l.tiff'));
imshow(I);
title('OriginalImage(courtesyofMIT)');
%模拟运动模糊
LEN=21;
THETA=11;
PSF=fspecial('motion',LEN,THETA);
blurred=imfilter(I,PSF,'conv','circular');
figure,imshow(blurred)
%模拟加性噪声
noise_mean=0;
noise_var=0.0001;
blurred_noisy=imnoise(blurred,'gaussian',noise_mean,noise_var);
figure,imshow(blurred_noisy)
title('SimulateBlurandNoise')
%尝试恢复假设没有噪声
estimated_nsr=0;
wnr2=deconvwnr(blurred_noisy,PSF,estimated_nsr);
figure,imshow(wnr2)
title('RestorationofBlurred,NoisyImageUsingNSR=0')
%尝试恢复对噪声对信号功率比进行更好的估计
estimated_nsr=noise_var/var(I(:
));
wnr3=deconvwnr(blurred_noisy,PSF,estimated_nsr);
figure,imshow(wnr3)
title('RestorationofBlurred,NoisyImageUsingEstimatedNSR');
原始图像:
模拟运动模糊
尝试恢复假设没有噪声
模拟加性噪声
维纳滤波复原函数deconvwnr对模糊图像进行复原重建
五、实验总结
通过本次实验,我学会了图像复原的基本原理,用维纳滤波复原,并利用MATLAB软件来进行图像复原,熟悉了fspecial函数以及imfilter和deconvwnr函数。
另外,本次实验还学习了通过VC来进行一些图像的处理,例如进行阈值变化、拉普拉斯锐化等,收获很大
图像理解是图像处理的一个重要分支,边缘检测技术对于处理数字图像非常重要,边缘检测中,常用的是sobel算子,有检测水平边缘和垂直边缘。
与Prewitt算子相比,sobel算子对于像素的位置的影响做了加权,可以降低边缘模糊程度,效果更好。