【正文】
。 close all。 end array=array/(r1*c1)。 for i=1:r1 array(i,:)=transform_fft(array(i,:))。 return end function array=transform_ifft2(array) array=conj(array)。 array(k*t1*2+j+t1+1)=(data1data2)*w(k*t1+1)。 data2=array1(k*t1+j+t2+1)。 array1(k*t1*2+j+t1+1)=(data1data2)*w(k*t1+1)。 data2=array(k*t1+j+t2+1)。 t2=2^(p1)。)。 array1=zeros(1,N,39。 for m=1:n w(m)=exp(1i*2*pi*(m1)/N)。double39。 n=N/2。 end for j=1:c1 array(:,j)=transform_fft((array(:,j)))。 function array=transform_fft2(array) array=double(array)。自建 IFFT 圖 39。 imshow(array,[])。 array=abs(array)。 S1=log(1+abs(Ft))。 end array=transform_fft2(array)。)。 data_row=zeros(1,n,39。 for m=1:n data_col(m)=exp(1i*2*pi*(m1)/r1)。double39。 n=r1/2。 if t3~=t4 array(r1,2^t4)=0。 t3=floor(t)。 end [r1,c1]=size(array)。 t2=ceil(t)。 t=log2(r)。 end [r,c]=size(image)。)。 image=imread(39。 end end end end if mod(p,2)==1 return else array1=array。 array(k*t1*2+j+1)=data1+data2。 else data1=array1(k*t1+j+1)。 課程設(shè)計(jì)說明書 21 array1(k*t1*2+j+1)=data1+data2。 for k=0:(t2/t11) for j=0:(t11) if mod(q,2)==1 data1=array(k*t1+j+1)。 for q=1:p t1=2^(q1)。double39。 end p=log2(N)。)。 w=zeros(1,n,39。 end function array1=transform_fft(array) N=length(array)。 for j=1:r1 array(j,:)=transform_fft(array(j,:))。 function array=transform_fft2(array) array=double(array)。自建 FFT 圖 39。 imshow(S1,[])。 Ft=fftshift(array)。 for m=1:n data_row(m)=exp(1i*2*pi*(m1)/r1)。double39。 end n=c1/2。)。 data_col=zeros(1,n,39。 end [r1,c1]=size(array)。 t4=ceil(t)。 t=log2(c1)。 if t1~=t2 array(2^t2,c)=0。 t1=floor(t)。 array=image。 if ndims(image)==3 image=rgb2gray(image)。39。 function pushbutton5_Callback(hObject, eventdata, handles) axes()。灰度圖 39。 imshow(f)。)。 x=imread(39。)。 title(39。 ret=im2uint8(mat2gray(fr))。 S=log(1+abs(FS))。 F=fft2(f)。)。 img=imread(39。)。 title(39。 S=log(1+abs(FS))。 F=fft2(f)。)。 img=imread(39。)。 title(39。)。 x=imread(39。 function varargout = untitled_OutputF(hObject, eventdata, handles) varargout{1} = 。 end function untitled_OpeningF(hObject, eventdata, handles, varargin) = hObject。 end if nargout [varargout{1:nargout}] = gui_mainf(gui_State, varargin{:})。amp。, [])。, [] , ... 39。, untitled_OutputF, ... 39。, untitled_OpeningF, ... 39。, gui_Singleton, ... 39。, mfilename, ... 39。 gui_State = struct(39。 end array=array/(r1*c1)。 for i=1:r1 array(i,:)=transform_fft(array(i,:))。 return end function array=transform_ifft2(array) array=conj(array)。 array(k*t1*2+j+t1+1)=(data1data2)*w(k*t1+1)。 data2=array1(k*t1+j+t2+1)。 array1(k*t1*2+j+t1+1)=(data1data2)*w(k*t1+1)。 data2=array(k*t1+j+t2+1)。 t2=2^(p1)。)。 array1=zeros(1,N,39。 課程設(shè)計(jì)說明書 17 for m=1:n w(m)=exp(1i*2*pi*(m1)/N)。double39。 n=N/2。 end for j=1:c1 array(:,j)=transform_fft((array(:,j)))。 [r1 c1]=size(array)。)。 title(39。 subplot(2,3,6)。 array=ifft2(F)。內(nèi)置 FFT2 函數(shù)結(jié)果 39。 subplot(2,3,5) imshow(S,[])。 FC=fftshift(F)。)。 title(39。 subplot(2,3,3)。 array=abs(array)。)。 title(39。 subplot(2,3,2)。 Ft=fftshift(array)。 課程設(shè)計(jì)說明書 16 for m=1:n data_row(m)=exp(1i*2*pi*(m1)/r1)。double39。 end n=c1/2。)。 data_col=zeros(1,n,39。 end [r1,c1]=size(array)。 t4=ceil(t)。 t=log2(c1)。 if t1~=t2 array(2^t2,c)=0。 t1=floor(t)。 array=x。)。 title(39。 end subplot(2,3,4)。)。 title(39。 subplot(2,3,1)??焖俑道锶~變換 39。Name39。,[0 0 scrsz(3)1 scrsz(4)])。 figure(39。Sc