三、给定图象如下:
应用互相关运算求字符“w”的位置。
%exercise3.m
w=imread('target_w.bmp');
f=imread('exercise3.bmp');
[mw,nw]=size(w);
[mf,nf]=size(f);
m=uint32(mw+mf-1);
n=uint32(nw+nf-1);
w(m,n)=0;
f(m,n)=0;
wfft=fft2(w);
ffft=fft2(f);
Result1=ifft2(conj(wfft).*ffft);
% Result1 =xcorr2(double(w),double(f));
Result1=Result1(1:mf,1:nf);
Result1=Result1/max(max(Result1,[],1));
Result2=Result1>0.9;
% Result2=rot90(Result2,2); %使用xcorr2时还要转180度
[C,wy]=max(Result2);
[C,wx]=max(C);
str = sprintf('w 的位置 x:%d y:%d', wx, wy(1));
disp(str);
imshow((Result2));
用FFT计算相关函数:http://zlgc.seu.edu.cn/jpkc2/ipkc/signal/new/course/two/2-6-11.htm
xcorr2 与用fft来算的方法结果顺序还不知道怎么对应起来。
四、给定织物瑕疵图象,试用二维低通滤波器多次对其滤波,得到仅有瑕疵的图象。
%exercise4.m
I = imread('exercise4.bmp');
h = fspecial('gaussian', [3 3], 1);
for i=1:30
I1 = filter2(h,double(I));
I = I1;
end
imshow(uint8(I1))
imwrite(uint8(I),'exercise4out.bmp')
六、
已知某信号的背景干扰信号为400赫兹,试用IIR滤波器,设计一个阻带滤波器,滤掉其干扰。具体指标如下:
阻带频率: 380-420Hz, 通带频率:380Hz< frequency>420Hz(原来是4200)
阻带衰减: 通带衰减:
要求:求出系统函数,画出其幅频特性图和滤波器的网络结构图。
Fs = 1600;
使用fdatool设计输出bandstop.m
%exercise6.m
a=bandstop;
m = a.sosMatrix;
c=sos2cell(a.sosMatrix);
num = c{1}{1}
den = c{1}{2}
Hz = tf(num,den,1/1600)
freqz(a,2048,1600)
Transfer function:
z^2 - 1.272e-016 z + 1
-----------------------
z^2 + 0.3793 z + 0.7876
系统函数以系数(cell),zp(零极点),sos之间有转换函数:sos2cell等