好文档 - 专业文书写作范文服务资料分享网站

MATLAB的图像处理的课程设计

天下 分享 时间: 加入收藏 我要投稿 点赞

set(handles.axes2,'HandleVisibility','OFF');

6)能对图像加入各种噪声,并通过几种滤波算法实现去噪并显示结果。比较去噪效果。 在function gaussian_Callback(hObject, eventdata, handles) 后面输入如下程序 axes(handles.axes2); x=(handles.img);

y=imnoise(x,'gaussian',0,0.05); %加高斯噪声 imshow(y);

imwrite(y,'gaussian.jpg'); title('加高斯噪声')

在function salt_Callback(hObject, eventdata, handles) 后面输入如下程序 axes(handles.axes2); x=(handles.img);

y=imnoise(x,'salt & pepper',0.04); %加椒盐噪声 imshow(y);

imwrite(y,'salt.jpg'); title('加椒盐噪声')

在function medfilt_Callback(hObject, eventdata, handles) 后面输入如下程序 axes(handles.axes2); x=(handles.img);

y=imnoise(x,'salt & pepper',0.04); %加椒盐噪声 z=medfilt2(y,[5 5],'symmetric'); %中值滤波 imshow(z);

imwrite(z,'medfilt.jpg'); title('中值滤波');

在function wiener_Callback(hObject, eventdata, handles) 后面输入如下程序 axes(handles.axes2); x=(handles.img);

y=imnoise(x,'gaussian',0,0.05); %加高斯噪声 z=wiener2(y,[5 5]); %自适应滤波 imshow(z);

imwrite(z,'wiener.jpg'); title('自适应滤波')

7)频谱处理,能够分析图像频谱,显示频谱图。

在function pinputu_Callback(hObject, eventdata, handles) 后面输入如下程序 axes(handles.axes2); x=(handles.img);

J2=fft2(x); %傅立叶变换 K2=fftshift(J2); %转换数据矩阵

imshow(log(abs(K2)),[]); %显示频谱图 title('频谱图');

8)设计巴特沃斯低通滤波对图像进行低通滤波处理,显示结果。

在function butterdi_Callback(hObject, eventdata, handles) 后面输入如下程序 axes(handles.axes2); x=(handles.img);

y1=imnoise(x,'salt & pepper'); % 叠加椒盐噪声

f=double(y1); % 数据类型转换,MATLAB不支持图像的无符号整型的计算

g=fft2(f); % 傅立叶变换 g=fftshift(g); % 转换数据矩阵 [M,N]=size(g);

nn=2; % 二阶巴特沃斯(Butterworth)低通滤波器

d0=50; %截止频率为50 m=fix(M/2); n=fix(N/2); for i=1:M

for j=1:N

d=sqrt((i-m)^2+(j-n)^2);

h=1/(1+0.414*(d/d0)^(2*nn)); % 计算低通滤波器传递函数

result(i,j)=h*g(i,j); end end

result=ifftshift(result); y2=ifft2(result); y3=uint8(real(y2));

imshow(y3); 显示滤波处理后的图像 imwrite(y3,'butterdi.jpg'); title('巴特沃斯低通滤波')

9)设计高斯高通虑波器,显示结果。 axes(handles.axes2); x=(handles.img);

y1=imnoise(x,'gaussian'); f=double(y1); 转换

k=fft2(f); 叶变换

g=fftshift(k); 据矩阵 [M,N]=size(g); nn=2;

% 加高斯噪声 % 数据类型 % 傅立 % 转换数 % d0=25; %截止频率为25

m=fix(M/2); n=fix(N/2); for i=1:M

for j=1:N

d=sqrt((i-m)^2+(j-n)^2); 传递函数

if d<=d0 h=0; else h=1; end

result(i,j)=h*g(i,j); end end

result=ifftshift(result); y2=ifft2(result); y3=uint8(real(y2));

imshow(y3); 滤波处理后的图像

imwrite(y3,'gaussiangao.jpg'); title('高斯高通滤波')

四、课程设计的体会

计算高通滤波器 % 显示 %

MATLAB的图像处理的课程设计

set(handles.axes2,'HandleVisibility','OFF');6)能对图像加入各种噪声,并通过几种滤波算法实现去噪并显示结果。比较去噪效果。在functiongaussian_Callback(hObject,eventdata,handles)后面输入如下程序axes(handles.axes2);x=(handles.img);
推荐度:
点击下载文档文档为doc格式
44q2e1dt6z9nplx1m54t1j03v4ivcy00ato
领取福利

微信扫码领取福利

微信扫码分享