图像滤波matlab代码(MATLAB图像滤波)
admin 发布:2022-12-19 20:22 167
今天给各位分享图像滤波matlab代码的知识,其中也会对MATLAB图像滤波进行解释,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!
本文目录一览:
急急急!图像逆滤波与维纳滤波的程序代码(matlab)
clc;clear all;
%读原始图像%
format long
Blurred=imread('fig525(b).bmp');
subplot(1,2,1);imshow( Blurred);title('原图像');
%自编函数进行维纳滤波%
k=0.0025;
[m,n]=size(Blurred);
spectrum=zeros(m,n);
H=zeros(m,n);
for u=1:m
for v=1:n
H(u,v)=exp(-k*((u-m/2)^2+(v-n/2)^2)^(5/6));
spectrum(u,v)=H(u,v)^2;
end
end
f=double(Blurred);
F1=fftshift(fft2(f));
HW=H./(spectrum+0.001);
restore1=HW.*F1;
restored=real(ifft2(ifftshift(restore1)));
subplot(1,2,2);imshow(restored,[]);title('自编函数进行维纳滤波');
%调用matlab提供的维纳滤波函数%
figure;
hw1=real(ifft2(ifftshift(H)));%转化到空域上来
result1=deconvwnr(Blurred,hw1,0.001);
result2=ifftshift(result1);%再去图像进行1,3象限对调,2与4象限对调
subplot(1,2,1);imshow(result2,[]);title('调用维纳滤波函数');
怎样用matlab进行图像滤波处理
1、打开软件,读入图片。
2、分别建立3*3高斯滤波模板和平均滤波模板,并对加噪的图片进行滤波处理。显示原图、加噪后的图片和分别用高斯、平均模板滤波后的图片。
3、图片结果如图,可以看出平均模板滤波后噪声十分明显,高斯模板滤波后噪声影响相对较小,但也很容易看出。
4、使用中值滤波对图片进行处理,并显示处理后的图像。
5、从图片可以看出,中值滤波后的图像基本上看不出来噪声的影响。完成保存就可以了。
一道基于matlab的数字图像滤波
clear;
close
all;
I
=
imread('eight.tif');
J
=
imnoise(I,'salt
pepper',0.02);
K
=
medfilt2(J);
imshow(J);title('噪声干扰图像')
figure,
imshow(K);title('medfilt2滤波图像')
X=J;a=2;b=2;
k=floor(a*b/2)+1;
[M,N]=size(X);
uint8
Y=zeros(M,N);
funBox=zeros(a,b);
temp=zeros(a*b);
for
i=1:M-a
for
j=1:N-b
funBox=X(i:i+a,j:j+b);
temp=funBox(:);
tempSort=sort(temp);
Y(i,j)=tempSort(k);
end;
end;
figure,
imshow(Y);title('自编程序滤波图像')
clear;
close
all;
c=imread('123.png');
%把彩色图片转化成灰度图片,256级
figure,imshow(c),title('原始图象');
%显示原始图象
g=imnoise(c,'gaussian',0.1,0.002);
%加入高斯噪声
figure,imshow(g),title('加入高斯噪声之后的图象');
%显示加入高斯噪声之后的图象
%实验步骤二:用系统预定义滤波器进行均值滤波
n=1;
A=fspecial('average',n);%生成系统预定义的3X3滤波器
Y=filter2(A,g)/255;
%用生成的滤波器进行滤波,并归一化
figure,imshow(Y),title('系统函数滤波图像');
%显示滤波后的图象
a(1:n,1:n)=1;
%a即n×n模板,元素全是1
p=size(g);
%输入图像是p×q的,且pn,qn
x1=double(g);
x2=x1;
%A(a:b,c:d)表示A矩阵的第a到b行,第c到d列的所有元素
for
i=1:p(1)-n+1
for
j=1:p(2)-n+1
c=x1(i:i+(n-1),j:j+(n-1)).*a;
%取出x1中从(i,j)开始的n行n列元素与模板相乘
s=sum(sum(c));
%求c矩阵(即模板)中各元素之和
x2(i+(n-1)/2,j+(n-1)/2)=s/(n*n);
%将模板各元素的均值赋给模板中心位置的元素
end
end
%未被赋值的元素取原值
d=uint8(x2);
%实验步骤三:用自己的编写的函数进行均值滤波
%调用自编函数进行均值滤波,n为模板大小
figure,imshow(d),title('自编程序滤波图像');
%显示滤波后的图象
图像滤波matlab代码的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于MATLAB图像滤波、图像滤波matlab代码的信息别忘了在本站进行查找喔。
版权说明:如非注明,本站文章均为 AH站长 原创,转载请注明出处和附带本文链接;
相关推荐
- 05-09网页代码,网页代码快捷键
- 05-06单页网站的代码(完整的网页代码)[20240506更新]
- 05-06个人主页图片代码(个人主页图片代码怎么弄)[20240506更新]
- 05-06提取微信名片代码(微信名片信息提取)[20240506更新]
- 05-06php后台权限管理代码(php管理员权限)[20240506更新]
- 05-06付费观看代码php(付费观看代码)[20240506更新]
- 05-06在线html执行代码(html怎么运行)[20240506更新]
- 05-06源代码管理资源管理器(资源管理器运行代码)[20240506更新]
- 05-06代码源软件库(程序代码库)[20240506更新]
- 05-06点击弹出密码代码(点击弹出密码代码错误)[20240506更新]
取消回复欢迎 你 发表评论:
- 标签列表
- 最近发表
- 友情链接