• 大小: 33KB
    文件类型: .rar
    金币: 1
    下载: 0 次
    发布日期: 2023-11-27
  • 语言: Matlab
  • 标签: MATLAB  

资源简介

使用MATLAB对4f光学系统进行仿真,菲涅尔滤波设计,调试通过,代码详细

资源截图

代码片段和文件信息

%这个程序是模拟4f系统滤波处理,在滤波面加菲涅尔滤波片
clc;
clear all;

%模拟4f系统对图像进行滤波处理
V=imread(‘D:\3.bmp‘);     %读入字母V
V=rgb2gray(V);
V=im2double(V);
subplot(121);imshow(V);title(‘字母V‘);
V1=fftshift(fft2(V));     % 将图像频谱低频部分移到中央,高频部分移到四周
subplot(122);imshow(abs(V1)*16/max(max(abs(V1))));title(‘字母V经物面到达频谱面后的频谱图‘); %字母V经物面到达频谱面后的频谱图


r=16;
a=4*sqrt(r);
b=0;
%生成菲涅尔滤波片
F=ones(256256);
for k=1:30
    p=6*sqrt(k*r);
for x=1:256
for y=1:256
    r1=sqrt((x-128)^2+(y-128)^2);
if r1>=a&r1<=p
    F(xy)=b;
end
end
end
a=p;
b=abs(b-1);
end
subplot(121);imshow(F);title(‘菲涅尔滤波片‘);
figuresubplot(131);imshow(F);title(‘菲涅尔滤波片‘);
B2=V1.*F;                 % 滤波
subplot(132);imshow(abs(B2)*64/max(max(abs(B2))));title(‘经频谱面滤波后频谱图‘);
C2=ifft2(B2);   
subplot(133);imshow(abs(C2)/max(max(abs(C2))));title(‘滤波后的字母‘);

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----

     文件     236278  2011-01-04 18:04  光学4f系统菲涅尔波带片\1-1.bmp

     文件     236278  2011-01-04 18:04  光学4f系统菲涅尔波带片\1-2.bmp

     文件     196664  2010-12-31 10:49  光学4f系统菲涅尔波带片\1.bmp

     文件     236278  2011-01-04 18:05  光学4f系统菲涅尔波带片\2-1.bmp

     文件     236278  2011-01-04 18:05  光学4f系统菲涅尔波带片\2-2.bmp

     文件     196664  2010-12-31 11:07  光学4f系统菲涅尔波带片\2.bmp

     文件     236278  2011-01-04 18:06  光学4f系统菲涅尔波带片\3-1.bmp

     文件     236278  2011-01-04 18:06  光学4f系统菲涅尔波带片\3-2.bmp

     文件     196664  2010-12-31 11:07  光学4f系统菲涅尔波带片\3.bmp

     文件        964  2011-01-04 18:05  光学4f系统菲涅尔波带片\4f.m

     目录          0  2011-02-26 14:13  光学4f系统菲涅尔波带片

----------- ---------  ---------- -----  ----

              2008624                    11


评论

共有 条评论