第四次数字图像处理技术实验 (DOC)

更新时间:2023-03-14 06:23:01 阅读量: 教育文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

甘肃政法学院

本科生实验报告

(4)

姓名: 学院: 专业: 班级:

实验课程名称:数字图像处理 实验日期: 2016 年 5 月 17 日 开课时间: 学年 第二 学期

甘肃政法学院实验管理中心印制

实验题图像分割,图像复原,图小组合 目 姓名 像重建 班级 作 学 号 一、实验目的 1.熟悉matlab图像处理工具箱及图像边缘检测函数的使用; 2.理解和掌握图像边缘检测(Sobel、Prewitt、Log边缘算子)的方法和应用; 3.掌握用阈值法进行图像分割的基本方法。 二.实验环境 Matlab实验室 三、实验内容与步骤 1.使用Roberts 算子的图像分割实验 调入并显示图像room.tif中图像;使用Roberts 算子对图像进行边缘检测处理; Roberts 算子为一对模板: 相应的矩阵为:rh = [0 1;-1 0];rv = [1 0;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('Original Image (courtesy of MIT)'); %模拟运动模糊 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('Simulate Blur and Noise') %尝试恢复假设没有噪声 estimated_nsr = 0; wnr2 = deconvwnr(blurred_noisy, PSF, estimated_nsr); figure, imshow(wnr2)

title('Restoration of Blurred, Noisy Image Using NSR = 0') %尝试恢复对噪声对信号功率比进行更好的估计 estimated_nsr = noise_var / var(I(:)); wnr3 = deconvwnr(blurred_noisy, PSF, estimated_nsr); figure, imshow(wnr3) title('Restoration of Blurred, Noisy Image Using Estimated NSR'); 实验中用到源程序代码; clear %读入、显示原图像 I = im2double(imread('l.tiff')); imshow(I); title('Original Image (courtesy of MIT)'); %模拟运动模糊 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('Simulate Blur and Noise') %尝试恢复假设没有噪声 estimated_nsr = 0; wnr2 = deconvwnr(blurred_noisy, PSF, estimated_nsr); figure, imshow(wnr2) title('Restoration of Blurred, Noisy Image Using NSR = 0') %尝试恢复对噪声对信号功率比进行更好的估计 estimated_nsr = noise_var / var(I(:)); wnr3 = deconvwnr(blurred_noisy, PSF, estimated_nsr); figure, imshow(wnr3) title('Restoration of Blurred, Noisy Image Using Estimated NSR'); 原始图像:

模拟运动模糊

本文来源:https://www.bwwdw.com/article/nhvx.html

Top