云题海 - 专业文章范例文档资料分享平台

当前位置:首页 > 中国海洋大学数字图像处理实验二报告

中国海洋大学数字图像处理实验二报告

  • 62 次阅读
  • 3 次下载
  • 2025/6/6 2:59:34

subplot(3,3,2); imshow(J1);

title('加高斯噪声后');

J2=imnoise(T,'salt& pepper',0.02);%加入椒盐躁声 subplot(3,3,3);

imshow(J2);%%加入椒盐躁声后显示图像 title('加椒盐噪声后');

g1=medfilt2(J1(:,:,1));%%红 g2=medfilt2(J1(:,:,2));%%绿 g3=medfilt2(J1(:,:,3));%%蓝

g=cat(3,g1,g2,g3); %对高斯躁声中值滤波

subplot(3,3,4); imshow(g);

title('高斯中值滤波');

h1=medfilt2(J2(:,:,1));%%红 h2=medfilt2(J2(:,:,2));%%绿 h3=medfilt2(J2(:,:,3));%%蓝

h=cat(3,h1,h2,h3);%对椒盐躁声中值滤波 subplot(3,3,5); imshow(h);

title('椒盐中值滤波'); I=ones(3); %生成3*3矩阵 I=I/9;

% z1=conv2(J1(:,:,1),I);%%红 % z2=conv2(J1(:,:,2),I);%%绿 % z3=conv2(J1(:,:,3),I);%%蓝

% z=cat(3,z1,z2,z3); %此处必须将double转化z1=uint8(conv2(J1(:,:,1),I));%%红 z2=uint8(conv2(J1(:,:,2),I));%%绿 z3=uint8(conv2(J1(:,:,3),I));%%蓝 z=cat(3,z1,z2,z3);

subplot(3,3,6); imshow(z);

title('对高斯躁声算术均值滤波');

w1=uint8(conv2(J2(:,:,1),I));%%红 w2=uint8(conv2(J2(:,:,2),I));%%绿

w3=uint8(conv2(J2(:,:,3),I));%%蓝

w=cat(3,w1,w2,w3); subplot(3,3,7);%对椒盐躁声算术均值滤波 imshow(w);

只能处理灰度图 conv2

title('对椒盐躁声算术均值滤波');

2.结果如图1.1:

图1.1

2.1利用给定图像编程实现使用均值滤波器

代码如下:

clear all; close all; clc;

%% 自己编程实现均值滤波器 I = imread('实验三(1).tif');

% I = imread('circuitboardNoise-gaussian.tif');

% I = imread('circuitboardNoise-salt.tif'); %读入三幅有不同噪声的图像 figure,imshow(I),title('原始图像')

[height, width] = size(I); %源图像点I(x,y) x1=double(I); x2=x1;

%% *** 3*3 模板 *** n=3;

a(1:n,1:n)=1; %a即n×n模板,元素全是1 for x=1:height-n+1

for y=1:width-n+1

c=x1(x:x+(n-1),y:y+(n-1)).*a; %取出x1中从(i,j)开始的n行n列元素与模

板相乘

s=sum(sum(c)); %求c矩阵中各元素之和

x2(x+(n-1)/2,y+(n-1)/2)=s/(n*n); %将与模板运算后的各元素的均值赋给模板中

心位置的元素

end end

d=uint8(x2);

figure,imshow(d),title('3*3模板')

%% *** 5*5 模板 *** n=5;

a(1:n,1:n)=1; %a即n×n模板,元素全是1 for x=1:height-n+1 for y=1:width-n+1

c=x1(x:x+(n-1),y:y+(n-1)).*a; %取出x1中从(i,j)开始的n行n列元素与模板相乘 s=sum(sum(c)); %求c矩阵中各元素之和

x2(x+(n-1)/2,y+(n-1)/2)=s/(n*n); %将与模板运算后的各元素的均值赋给模板中

心位置的元素

end end

d=uint8(x2);

figure,imshow(d),title('5*5模板')

%% *** 7*7 模板 *** n=7;

a(1:n,1:n)=1; %a即n×n模板,元素全是1 for x=1:height-n+1 for y=1:width-n+1

c=x1(x:x+(n-1),y:y+(n-1)).*a; %取出x1中从(i,j)开始的n行n列元素与模板

相乘

s=sum(sum(c)); %求c矩阵中各元素之和

x2(x+(n-1)/2,y+(n-1)/2)=s/(n*n); %将与模板运算后的各元素的均值赋给模板中心

位置的元素

end end

d=uint8(x2);

figure,imshow(d),title('7*7模板')

%% *** 9*9 模板 ***, 效果最佳 n=9;

a(1:n,1:n)=1; %a即n×n模板,元素全是1 for x=1:height-n+1

for y=1:width-n+1

c=x1(x:x+(n-1),y:y+(n-1)).*a; %取出x1中从(i,j)开始的n行n列元素与模板

相乘

s=sum(sum(c)); %求c矩阵中各元素之和

x2(x+(n-1)/2,y+(n-1)/2)=s/(n*n); %将与模板运算后的各元素的均值赋给模板中心

位置的元素

end end

d=uint8(x2);

figure,imshow(d),title('9*9模板')

原始图像 3*3 5*5 7*7 9*9 图2.1均值滤波器对高斯噪声进行滤波

其中3*3模板的效果最好

2.2.利用给定图像编程实现使用中值滤波器对不同强度的高斯噪和椒盐噪声进行滤波处理。

代码如下:

I = imread('实验三(1).tif');

% I = imread('circuitboardNoise-gaussian.tif');

  • 收藏
  • 违规举报
  • 版权认领
下载文档10.00 元 加入VIP免费下载
推荐下载
本文作者:...

共分享92篇相关文档

文档简介:

subplot(3,3,2); imshow(J1); title('加高斯噪声后'); J2=imnoise(T,'salt& pepper',0.02);%加入椒盐躁声 subplot(3,3,3); imshow(J2);%%加入椒盐躁声后显示图像 title('加椒盐噪声后'); g1=medfilt2(J1(:,:,1));%%红 g2=medfilt2(J1(:,:,2));%%绿 g3=medfilt2(J1(:,:,3));%%蓝 g=cat(3,g1,g2,g3); %对高斯躁声中值滤波 subplot(3,3,4); imshow(g); title('高斯中值滤波'); h1=medfilt2(J2(:,:,1));%%

× 游客快捷下载通道(下载后可以自由复制和排版)
单篇付费下载
限时特价:10 元/份 原价:20元
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信:fanwen365 QQ:370150219
Copyright © 云题海 All Rights Reserved. 苏ICP备16052595号-3 网站地图 客服QQ:370150219 邮箱:370150219@qq.com