Xem mẫu

  1. H×nh 7.3 Phæ tÇn sè cña tr¹ng th¸i liªn tôc vµ tr¹ng th¸i ®· lÊy mÉu cña mét tÝn hiÖu.   1 X ( e jT )  NÕu (7.11) X a ( j ) -  T T T  X (e jT )   xa (kT )e  jkT vµ k   KÕt hîp biÓu thøc (7.10) vµ (7.11)  T T jt x a (t )   X ( j)e d 2   T V× vËy  T  T  jTk  jt   x a (kT )e x a (t )  e d  2  k     T Thay ®æi thø tù tÝnh tæng vµ tÝch ph©n,  /T T   e j(t kT ) d x a (t )   xa ( kT )    2    k    / T TÝnh gi¸ trÞ cña tÝch ph©n chóng ta ®­îc  (t  kT ) sin  T (7.12) x x a (t )  (kT ) a  k   (t  kT ) T BiÓu thøc (7.12) lµ phÐp néi suy cho phÐp kh«i phôc c¸c tÝn hiÖu liªn tôc theo thêi gian xa(t) tõ c¸c mÉu cña nã. Tr­êng hîp 2-D: C¸c ®Þnh lý lÊy mÉu 2-D gi¶ thiÕt r»ng hµm giíi h¹n b¨ng fa(x,y) cã thÓ kh«i phôc mét c¸ch hoµn toµn tõ c¸c mÉu mµ tho¶ m·n 1 1 (7.13) TH  TV  2WH 2WV ë ®©y WH vµ WV biÓu diÔn gi¶i th«ng theo hezt cña tÝn hiÖu 2-D theo chiÒu däc vµ theo chiÒu ngang. NÕu biÓu thøc (7.13) ®­îc tho¶ m·n, vµ 135
  2. fa(k1TV,k2TH) biÓu diÔn tÝn hiÖu lÊy mÉu 2-D, th× fa(x,y) cã thÓ kh«i phôc tõ fa(k1TV,k2TH) dïng biÓu thøc néi suy: ( ) ( )  sin ( y  k 2TH ) TH  ( y  k 2TH ) (7.14) TH Chøng minh cña c¸c biÓu thøc (7.13) vµ (7.14) t­¬ng tù nh­ tr­êng hîp 1-D vµ ®­îc ®Ó l¹i nh­ mét bµi tËp. Mét chó ý lµ phæ tÇn sè cña mét tÝn hiÖu lÊy mÉu 2-D tuÇn hoµn trong miÒn tÇn sè, nh­ trong h×nh 7.4. TÝn hiÖu t­¬ng tù cã thÓ ®­îc kh«i phôc b»ng c¸ch t¸ch ra mét chu kú tõ phæ tÝn hiÖu mÉu. 7.4 §Þnh lý lÊy mÉu ¸p dông lªn c¸c ¶nh Mét ¶nh ®­îc t¹o nªn b»ng c¸ch chiÕu mét c¶nh 3-D lªn mÆt ph¼ng 2- D. PhÐp chiÕu nµy biÓu diÔn mét phÐp biÕn ®æi tõ nhiÒu vµo mét. Cã nghÜa lµ mét ®iÓm ¶nh kh«ng t­¬ng øng duy nhÊt víi mét ®iÓm trong c¶nh 3-D. §iÒu nµy ®­îc minh ho¹ qua h×nh 7.5. Gi¶ sö r»ng ¶nh nµy chøa N ®iÓm ¶nh theo h­íng x. Sau ®ã cho c¸c vËt thÓ S1 vµ S2 trong h×nh 7.5 chóng ta cã 10 mÐt (7.15)  x1  N 3 vµ mÐt (7.16) x 2  N §Þnh lý lÊy mÉu ®ßi hái: 1 x1  2W1 136
  3. (7.17) 1  TH WH WV   2 TV TV  TH H×nh 7.4 Phæ tÇn sè cña mét tÝn hiÖu lÊy mÉu 2-D. 1 vµ (7.18) x 2  2W2 ë ®©y, W1 lµ tÇn sè cao nhÊt theo h­íng x cho ¶nh ®­îc t¹o bëi mét m×nh vËt thÓ S1, vµ W2 lµ tÇn sè cao nhÊt theo h­íng x cho ¶nh ®­îc t¹o bëi mét m×nh vËt thÓ S2. Bëi v× chóng ta chØ cã mét ¶nh bao gåm S1 vµ S2 nªn W1 = W2 vµ N ®­îc x¸c ®Þnh theo 3 1 (7.19) x 2   N 2W2 N = 6W2 V× thÕ (7.20) 137
  4. H×nh 7.5 ¸nh x¹ mét c¶nh 3-D lªn mÆt ph¼ng ¶nh 2-D. Thay N trong biÓu thøc (7.15) chóng ta ®­îc 10 10 1 x1    6W2 6W1 2W1 V× thÕ, gi¶ thiÕt lÊy mÉu kh«ng tho¶ m·n cho vËt thÓ S1, vµ ë ®©y c¸c th«ng tin cña miÒn nµy trªn ¶nh kh«ng thÓ kh«i phôc qua phÐp néi suy. Nãi mét c¸ch kh¸c, c¸c vËt thÓ gÇn camera cã kh¶ n¨ng tèt h¬n khi lÊy mÉu, trong khi c¸c vËt thÓ xa camera th× dÔ dµng khi kh«i phôc mÉu. 7.5 Nh©n ®«i ®é ph©n gi¶i trªn ¶nh KÕt qu¶ cña ®Þnh lý lÊy mÉu cã thÓ dïng ®Ó t¨ng ®é ph©n gi¶i trªn ¶nh. Dï sao ch¨ng n÷a, dùa vµo kÕt qu¶ ®· ®¹t ®­îc chóng ta cã thÓ kÕt luËn r»ng nãi chung th× kh«ng thÓ t¨ng ®é ph©n gi¶i cña ¶nh lªn ®­îc. Trong c¸c ¶nh, c¸c vËt thÓ ®¸ng quan t©m th«ng th­êng ®­îc che hÕt bÒ mÆt cña ¶nh. V× thÕ, nÕu c¸c ®èi t­îng trong nÒn kh«ng ®­îc cho ®é ph©n gi¶i d­ thõa, c¸c vËt thÓ cËn c¶nh th«ng th­êng cã ®ñ mÉu ®Ó cho phÐp dïng c¸c ®Þnh lý lÊy mÉu. 138
  5. 7.5.1 Nh©n ®«i ®é ph©n gi¶i dïng sù thÓ hiÖn tÇn sè cña lý thuyÕt lÊy mÉu Chóng ta ®· chó ý ë trong ch­¬ng 6 r»ng phæ tÇn sè cña mét ¶nh gi¶m nhanh cïng víi sù t¨ng cña tÇn sè. Chóng ta cã thÓ dïng nhËn xÐt nµy vµ ®Þnh lý lÊy mÉu Whittaker-Shannon ®Ó t¨ng ®é ph©n gi¶i. Gi¶i thuËt nµy theo c¸c b­íc sau: 1. Rót ra FFT cña ¶nh cã kÝch th­íc N  N, cô thÓ I ( k1 , k 2 )  FFT {i (n1 , n2 )( 1) n1  n2 } phæ tÇn sè sÏ ph¶i cã gèc to¹ ®é ë trung t©m cña m¶ng FFT. Thªm c¸c ®iÓm 0 vµo FFT nh­ giíi thiÖu trong h×nh 7.6 ®Ó t¨ng kÝch 2. th­íc cña nã lªn 2N  2N. Rót ra biÕn ®æi ng­îc FFT cña biÕn ®æi tÇn sè më réng. KÕt qu¶ thu 3. ®­îc lµ ¶nh gèc víi ®é ph©n gi¶i t¨ng gÊp ®«i. CÇn chó ý lµ c¸c vËt thÓ kh«ng lÊy ®ñ mÉu trong ¶nh gèc th× kh«ng cung cÊp mét sù ph¸t triÓn trong ®é ph©n gi¶i. §Ó thùc hiÖn c¸c ph­¬ng ph¸p trªn chóng ta sÏ b¾t ®Çu víi ¶nh kÝch th­íc 128  128 ®iÓm vµ 256 møc x¸m trong h×nh 7.7a. ¶nh ®· cã s½n trªn ®Üa víi file cã tªn lµ CAMEL.IMG. Thùc hiÖn thuËt to¸n trªn ®­îc cho trong Ch­¬ng tr×nh 7.2. KÕt qu¶ ¸p dông trªn ¶nh ®­îc cho trong h×nh 7.7b. Râ rµng lµ rÊt khã kh¨n ®Ó nhËn ra ng­êi c­ìi trªn l¹c ®µ, nÕu ¶nh gèc mÆt ng­êi ®ã ch­a ®­îc lÊy ®ñ mÉu. Ch­¬ng tr×nh 7.2 ENLQFFT.C nh©n ®«i ®é ph©n gi¶i cña mét ¶nh qua FFT. /*This program utilizes 2-D FFT to double the size of an image.*/ #define pi 3.141592654 #include #include #include #include #include #include #include #include void bit_reversal(unsigned int *, int , int); 139
  6. void WTS(float *, float *, int, int); void FFT(float *xr , float *xi, float *, float *, int , int) ; void transpose(FILE *, int, int); void FFT2D(FILE *, FILE *, float *, float *, unsigned int *, int,int,int); void main() { int N,m,i,j,N2,N4,m2,n2,ind; unsigned int *L; float *wr,*wi; FILE *fptri,*fptro,*fptrt; double nsq; float *buffo,*buffi; unsigned char file_name[14],ch,*buffr; float max,min,scale; clrscr(); printf("Enter file name for image to be enlarged -> "); scanf("%s", file_name); fptri=fopen(file_name,"rb"); if(fptri==NULL) { printf("\n File does not exist."); exit(1); } nsq=filelength(fileno(fptri)); N=(int)sqrt(nsq); m=(int)(log10((double)N)/log10((double)2)); fptro=fopen("FFT1.img","wb+"); /* file for storing FFT of image.*/ again : gotoxy(1,2); printf ( " "); gotoxy(1,2); printf("Enter file-name for enlarged image -> "); scanf("%s",file_name); if(((stricmp("FFT1.img",file_name))==0)|| ((stricmp("temp.img",file_name))==0)|| ((stricmp("IFFT2.img",file_name))==0)) { 140
  7. printf("This is a reserved file name. Use some other name."); 2 N N 2 0’s 0’s N 2 2    T T 1 2 N FFT cña ¶nh T 0’s 0’s H×nh 7.6 Thªm c¸c sè 0 vµo FFT thu ®­îc ¶nh cã tÇn sè më réng. goto again; } gotoxy(1,2); printf ( " "); ind=access(file_name,0); while(!ind) { gotoxy(1,3); printf("File exists. Wish to overwrite? (y or n)-->"); while(((ch=tolower(getch()))!='y')&&(ch!='n')); putch(ch); switch(ch) { case 'y' : ind=1 ; break ; 141
  8. case 'n' : gotoxy(1,3); printf(" "); gotoxy(1,2); printf (" "); gotoxy(1,2); printf("Enter file name -->"); scanf("%s",file_name); ind=access(file_name,0); } } H×nh 7.7 "CAMEL.IMG" vµ ¶nh ®· ®­îc phãng to. N2=N
  9. /* Allocating memory for bit reversal LUT.*/ L=(unsigned int *)malloc(N2*sizeof(unsigned int)); /* Generate Look-up table for bit reversal.*/ bit_reversal(L,m,N); /* Allocating memory for twiddle factors. n2=N- 1 */ wr=(float *)malloc(n2*sizeof(float)); wi=(float *)malloc(n2*sizeof(float)); /*Generating LUT for twiddle factors.*/ WTS(wr,wi,N,-1); /* Taking 2-D FFT. */ FFT2D(fptri,fptro,wr,wi,L,N,m,-1); clrscr() ; printf(" Adding zeros to FFT of image. \n"); /* Adding zeros to double the size of the FFT.*/ N4=N2
  10. for(i=0;i>1);i++) fwrite(buffo,N4,sizeof(float),fptrt); fclose(fptri); rewind(fptrt); /* Taking the inverse FFT.*/ printf("Taking the inverse FFT.\n"); m2=m+1 ; /* Generating bit reversal I(JT.*/ bit_reversal(L,m2,N2); WTS(wr,wi,N2,1); FFT2D(fptrt,fptro,wr,wi,L,N2,m2,1); clrscr() ; printf("Last stage in forming enlarged image."); fptri=fopen("IFFT2.img","rb"); fptro=fopen(file_name,"wb"); buffr=(unsigned char *)malloc(N2*sizeof(char)); max=0; min=1.0e7; for(i=0;i
nguon tai.lieu . vn