实验4 图像平滑算法实现

更新时间:2023-11-18 14:00:01 阅读量: 教育文库 文档下载

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

南京信息工程大学 实验(实习)报告

实验(实习)名称实验4 图像平滑算法实现 实验(实习)日期 2015.6 得分 指导教师 张 辉 计算机系 专业 科学与技术 年级 12 班次 3 姓名 学号 2 一、实验目的:

理解图像平滑的相关算法,并掌握算法的实现。 二、实验内容:

1. 读入一幅灰度图像。

2. 对原始图片添加噪声(随机噪声和椒盐噪声)( imnoise函数)。

3. 利用均值滤波算法(取模板分别为3×3,5×5)去除噪声(自己编写一段代码实现此功能),显示去噪前后的图像。

4. 利用中值滤波算法对图像去除噪声(自己编写一段代码实现此功能),显示去噪前后的图像。

三、实验要求:

1. 用Matlab语言进行编程,实现上述功能,并尽量使得程序具有通用性。 2. 撰写实验报告并附上所用程序和结果。 四、实验结果: clear;clc;

f=imread('eight.tif');

f2=imnoise(f,'salt & pepper',0.02); [r,c]=size(f2); g=f2;

for i=2:r-1 for j=2:c-1

nei=f2(i-1:i+1,j-1:j+1); avg=sum(sum(nei))/9; g(i,j)=avg; end end

g=uint8(g);

subplot(131),imshow(f); subplot(132),imshow(f2); subplot(133),imshow(g);

clear;clc;

f=imread('eight.tif');

f2=imnoise(f,'salt & pepper',0.02); [r,c]=size(f2); g=f2; for i=3:r-2

for j=3:c-2

nei=f2(i-2:i+2,j-2:j+2); avg=sum(sum(nei))/25; g(i,j)=avg; end

end g=uint8(g); subplot(131),imshow(f); subplot(132),imshow(f2); subplot(133),imshow(g);

subplot(132),imshow(f2); subplot(133),imshow(g); clear;clc;

f=imread('eight.tif');

f2=imnoise(f,'salt & pepper',0.02); [r c]=size(f2) g=f2; u=zeros(1,9); for i=2:r-1

for j=2:c-1 u(1)=g(i,j); u(2)=g(i,j+1); u(3)=g(i-1,j+1); u(4)=g(i-1,j); u(5)=g(i-1,j-1); u(6)=g(i,j-1); u(7)=g(i+1,j-1);

u(8)=g(i+1,j); u(9)=g(i+1,j+1);

for p=1:8 for q=1:8-p

if u(q)>u(q+1) k=u(q);

u(q)=u(q+1);

u(q+1)=k;

end end end

rg(i,j)=u(5); end end g=uint8(rg); subplot(131),imshow(f); subplot(132),imshow(f2); subplot(133),imshow(g);

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

Top