Xử lý ảnh - Chương 11

38 437 3
 Xử lý ảnh - Chương 11

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

Thông tin tài liệu

Xử lý ảnh

Chơng 9 Bộ lọc có đáp ứng xung vô hạn hai chiều 9.1 Chỉ dẫnTrong các chơng trớc, chúng ta đ nghiên cứu lọc ảnh bằng các bộ lọc FIR. Chúng taã cũng đ lọc ảnh trực tiếp từ miền tần số thông qua FFT. Hình nhã là không có một vấn đề nào rõ ràng với các bộ lọc kiểu FIR khiến chúng ta quan tâm đến các kiểu khác của hàm truyền đạt. Tuy vậy, rõ ràng lọc FIR là một xấp xỉ đối với đáp ứng xung vô hạn của hệ thống LSI bằng cách cắt giảm bớt. Các hệ thống với miền chuyển tiếp dần dần có thể xấp xỉ hoá bằng bộ lọc FIR bậc thấp. Nhng dù thế nào đi chăng nữa, thì hệ thống có miền chuyển đổi dốc cũng đòi hỏi các bộ lọc FIR bậc cao. Đấy là do sự hội tụ chậm của chuỗi Fourier. Biểu thức của chuỗi Fourier biểu diễn cho hệ số của bộ lọc FIR. Bằng cách cắt bớt chuỗi này, nhằm sử dụng các bộ lọc FIR bậc thấp đ dẫn đến các dao động Gibbs, đ đã ã ợc cho ở trong chơng 8. Mặc dù các hàm cửa sổ có thể giảm thiểu các dao động này, nhng rút cục là một bộ lọc có miền chuyển tiếp dốc hơn và các nhiễu gợn nhỏ hơn. Vì vậy, chúng ta chỉ có một lựa chọn duy nhất là sử dụng các bộ lọc bậc cao để rút ra các miền chuyển tiếp dốc, nếu chúng ta kiên trì với các bộ lọc FIR. Điều này cũng có nghĩa là thời gian tính toán cho một ảnh lọc cũng nhiều hơn. Nếu chúng ta cần một bộ lọc với thời gian thực thì phần cứng cần phải đợc đợc cung cấp đi kèm, và các bậc cao hơn thì đẫn đến kết quả giá cả cao hơn.Nh một sự lựa chọn, chúng ta sẽ bắt đầu với hàm chuyển đổi mà có đáp ứng xung vô hạn. Tất cả các hàm chuyển đổi này đợc biết dới cái tên bộ lọc có đáp ứng xung vô hạn (Infinite-Impulse-Response filter) hay là gọi là bộ lọc IIR. Các kiểu bộ lọc sẽ đạt đợc dải chuyển đổi dốc với bậc nhỏ hơn kiểu lọc FIR. Nếu nh vậy, chắc bạn sẽ tự hỏi là tại sao chúng ta không bỏ lọc FIR đi mà sử dụng lọc IIR? Nguyên nhân là thiết kế và phần cứng bộ lọc FIR đ có sẵn, còn thiết kế cho bộ lọc IIR vẫn chã a có. Ví dụ, nếu bộ lọc IIR có đáp ứng xung vô hạn, thì chúng có xu hớng ngày càng không ổn định. Vì vậy, đáp ứng xung có thể tăng lên rất lớn nếu ta không có một sự cẩn thận trong thiết kế. Pha tuyến tính, một yêu cầu cần thiết trong lọc ảnh, có thể đạt đợc dễ dàng từ lọc FIR hơn là từ lọc IIR. Tuy nhiên, sự thuận lợi cung cấp bởi các hàm chuyển đổi IIR khiến cho chúng có đủ sức thu hút chúng ta quan tâm đến vấ đề này. Trong chơng này chúng ta sẽ xem một số giả thiết đơn giản cho thiết kế bộ lọc IIR với đặc tuyến pha gần tuyến tính.9.2 Bộ lọc IIRHàm truyền đạt của bộ lọc cho bởi :162 = == ==NiNjjiijNiNjjiijzzbzzazzH0 0210 02121),( (9.1)Không mất tính tổng quát, b00 đặt bằng 1.Nếu y(m,n) và x(m,n) là d y tín hiệu ra và vào, từ biểu thức (4.93) ta có thể viết ã ),(),(),(0 000 0jnimxbjnimxanmyijNiNjjiNiNjij= = =+= =(9.2)Để bộ lọc thực hiện đợc và ổn định đáp ứng xung h(m,n) phải có những hạn chế sauh m n( , ) = 0 (m < 0) (n < 0) (9.3) ==<0 0),(m nnmh (9.4) Biểu thức (9.4) dẫn đến kết luận khi xem xét kỹ thuật thiết kế cho các bộ lọc IIR là phơng pháp dùng đáp ứng không gian thuận tiện hơn phơng pháp dùng đáp ứng tần số. Nếu nh phơng pháp đáp ứng không gian không hiệu quả khi m, n tăng, thì thiết kế một bộ lọc xấp xỉ nhng ổn định là cần thiết. Vậy thì bộ lọc đó phải thoả m n điều kiện cho bởi côngã thức (9.4). Bởi vì đáp ứng không gian và đáp ứng tần số liên hệ với nhau qua chuyển đổi Fourier, Ta có thể rút ra kết luận là bộ lọc xấp xỉ với đáp ứng xung là tơng đơng với bộ lọc xấp xỉ với đáp ứng tần số tơng ứng. Điều này nói chung là đúng. Tuy nhiên, nh chúng ta đã thấy thiết kế của bộ lọc FIR, cái đặc trng cơ bản nhất là phổ biên độ với điểm pha không. Câu hỏi sẽ là, với đặc điểm pha nào (1, 2) thì bộ lọc ổn định? Biết rằng chúng ta cần pha tuyến tính hoặc các hằng số trễ, ở đây các nhóm trễ đợc định nghĩa là 221212121211),(),(),(),(==(9.5)công việc là lựa chọn ra các hằng số trễ. Trong phần tiếp theo chúng ta sẽ nghiên cứu một phơng pháp phổ biến để thiết kế bộ lọc, tiếp đó là các thay đổi cần thiết bao gồm cả các điểm pha tuyến tính.9.3 Phơng pháp ShanksĐây là một trong những phơng pháp đầu tiên đợc dùng trong thiết kế không gian bộ lọc IIR. Mặc dù đây là một phơng pháp tiếp cận trong miền không gian nhng chúng ta sẽ bắt đầu xem xét phơng pháp này trong miền tần số, sau đó nội suy sang miền không gian. do của cách làm này đợc thể hiện qua một loạt các biểu thức. Đáp ứng tần số của các bộ lọc IIR đợc mô tả ở bằng biểu thức (4.93) có thể rút ra bằng cách đặt 11jez=, và 22jez=. Vì vậy,163 HAB( , )( , )( , ) 1 21 21 2= (9.6)ở đây = ==NlNkjjlkeeaA0 02121),( (9.7)và = ==NlNkjjlkeebB0 02121),((9.8)Nếu Hd( , ) 1 2 là phổ tần số mong muốn thì ),(),(),(),(21212121BAHd=(9.9)Chuyển biểu thức (4.99) sang miền không gian ta có ),(),(),( nmhnmhnmd= (9.10)ở đây h(m,n) là đáp ứng xung của bộ lọc và có thể rút ra từ = == =+=NiNjijNiNjijjijnimhbjnimanmh0 00 00)(),(),(),( (9.11)Các hệ số {amn} và {bmn} cha đợc xác định. Xây dựng theo chuẩn L2 = ==MmMnnmQ0 02),( (9.12)ở đây M ì M là số các mẫu đợc cung cấp từ đáp ứng xung.Để rút ra các hệ số của bộ lọc ta cần tối thiểu hoá Q. Điều này đạt đợc nếu ta đạo hàm Q theo các hệ số của bộ lọc và cho kết quả sau khi đạo hàm bằng 0. = ==MmMnlklkanmnmaQ0 0),(),(2 (9.13) l, k = 0, 1, ., Nvà= ==MmlkMnlkbnmnmbQ0 0),(),(2 (9.14)l, k = 0, 1, ., N l + k 0.Biểu thức (9.13) tạo ra (N + 1) ì (N + 1) phơng trình phi tuyến với {aij} và {bij}. Biểu thức (9.14) tạo ra (N + 1) ì (N + 1) - 1 phơng trình phi tuyến với {aij} và {bij}. Bởi vì số các hệ số của bộ lọc là 2(N + 1) ì (N + 1) - 1, nên từ các phơng trình này ta có thể tìm ra các hệ số và tìm đợc bộ lọc yêu cầu. Để tránh phải tính toán một loạt các phơng trình phi tuyến mô tả ở trên, Shanks và một số ngời đa ra phơng pháp cho phép tối thiểu hoá một hàm lỗi đợc biến đổi. Mặc dù ph-164 ơng pháp này đợc xây dựng bởi Shanks, Treitel, Justice, nó vẫn đợc biết đến dới tên là ph-ơng pháp Shanks. Nhân biểu thức (4.99) với B(1, 2) chúng ta rút ra ),(),(),(),(),(2121212121AHBBd= (9.15)Thay thế sai số tải trọng ( , ) ( , )1 2 1 2Bbằng),(21trong biểu thức (9.15) và chuyển kết quả sang miền không gian ta đợc. = = = ==NiNjNiNjijdijjnimajnimhbnm0 0 0 0),(),(),( (9.16)Cần nhắc lại là phép nhân trong miền tần số thì tơng đơng với tích chập trong miền không gian. Bây giờ ta xây dựng theo chuẩn L2= ==MmMnnmQ0 02),((9.17)Đ rõ ràng trong bã ớc này do tại sao chúng ta bắt đầu định nghĩa của sai số trong miền tần số sau đó chuyển kết quả sang miền không gian. Biểu thức (9.17) cho ta giá trị tối thiểu thực sự của L2 dới dạng sai số tải trọng, và không phải sai số thực sự.Để tối thiểu hoá Q ta đạo hàm biểu thức này theo các hệ số của bộ lọc và cho kết quả bằng 0. = = = = = ==MmMnNiNjNiNjdijijlkjnimhbjnimaaQ0 0 0 0 0 0),(),(2( , ) , , , , .,m l n k l k N = =0 0 1 2 (9.18)Từ phơng trình (9.18) ta có thể viết RnmjnimhbaNiNjdijmn== =, ),(0 0(9.19)ở đây R là miền không gạch chéo ở hình (9.14). Bởi vậy, biểu thức (9.17) có thể đợc viết lại dới dạng , ),(20 0RnmjnimhbQm nNiNjdij= = = (9.20)Tối thiểu Q ta đạo hàm biểu thức và cho nó bằng không RnmknlmhjnimhbbQm ndNiNjdijlk== = =, 0),(),(20 0 (9.21)165 0 , .,2,1,0, ., ),(),(- ),(),(m n0 0+=== =klNklRnmknlmhnmhknlmhjnimhbddm nddNiNjij(9.22)Phơng trình (9.22) tạo ra (N + 1) ì (N + 1) - 1 các phơng trình tuyến tính có thể giải ra đợc để tính các hệ số của bộ lọc. Hình 9.1 Miền R cho biểu thức (4.19).9.4 Tính đáp ứng xung Thuật toán chúng ta dùng để tính đáp ứng xung sẽ cũng tơng tự nh các bớc ta dùng trong tính toán với các hệ số của bộ lọc FIR. Thuật toán này theo các bớc sau :1. Rút ra M ì M điểm của phổ biên độ mong muốn, Hd(m,n), với điểm tần số (0,0) nằm tại trung tâm của mảng, cụ thể tại (M/2, M/2). M nên là bội số của 2, Hd(m,n) nên đối xứng một cách chặt chẽ.2. Rút ra IFFT của Hd(m,n)(-1)(m+n), bằng cách thừa nhận phổ pha không.3. Nhân kết quả thu đợc với (-1)(m+n). Điều này sẽ giúp thu đợc đáp ứng xung với gốc toạ độ nằm tại (M/2, M/2).221),(),(414.01121+=cRH (9.23)ở đây 222121),(+=R, và tần số cắt là c = 1.0 rad/đơn vị. n đặc trng cho bậc của hàm Butterworth. Các bộ lọc có bậc càng cao, miền chuyển tiếp càng dốc, n không phải là 166(0,0)mn(M,M)(N,N)R bậc của bộ lọc 2-D. Bậc của bộ lọc 2-D sẽ đợc chọn khi thiết kế bộ lọc. Trong ví dụ này thì n đợc chọn bằng 2. Đáp ứng trong miền không gian đợc cho ở hình 9.2.Chơng trình dùng để tính đáp ứng xung từ đáp ứng tần số đợc cho ở chơng trình 9.1. Trong chơng trình này chúng tôi cho cung cấp một số tuỳ chọn nh lựa chọn giữa lọc thông thấp và thông cao, lựa chọn dùng các hàm Butterworth hay là kiểu có miền chuyển tiếp dốc.Dựa trên các giả thiết ở trên chúng ta có thể đa ra đợc thuật toán thiết kế bộ lọc 2-D có pha tuyến tính ổn định. Chơng trình cho giải thuật này sẽ trình bày ở phần tiếp theo.Hình 9.2 Đặc tuyến không gian rút ra từ chơng trình giải thích cho ví dụ của phần nói về đặc tuyến truyền đạt Butterworth.Chơng trình 9.1 IMPULSE.C. Sinh đáp ứng xung từ đáp ứng tần số./* Program for calculating impulse-response from frequency-specifications. Result is stored with the (0,O) point centered at the middle of the output 2-D array. You can either supply your own data or select from a set of standard functions. If you supply your own data the first two values should be the dimensions of the array e.g. 32 x32. The dimensions of the array should be a power of two. The data that follows is the magnitude specifications in "%f " format stored in a row by row fashion, with no return code after every row. */#define pi 3.141592654#include <stdio.h>#include <math.h>#include <alloc.h>#include <stdlib.h>#include <io.h>#include <ctype.h>#include <string.h>#include <conio.h>167 void bit_reversal(unsigned int *, int , int);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,N1,m,n2,i,j,ii,jj,N2,k,norder,j1,ind,yt; unsigned int *L; float *wr,*wi,Do,theta,nsqrt,beta,alpha,sum1,sum2,T; FILE *fptri,*fptro,*fptr; float *buffi,*buffo,R2,H,nsq,win,slope,gamal,gamah; unsigned char file_name[14], ch,ch1,file_name1[14]; clrscr() ; printf("Freq.- response can be calculated using standard\n"); printf(" functions available to you if your reply to the\n"); printf(" following question is negative.\n"); printf("Is freq. response provided in a file? (y or n)-->"); while(((ch1=getche())!='y')&&(ch1!='n')); switch(ch1){ case 'n': case 'N':printf("\nEnter # of points to be generated (e.g. 32x32)-->");scanf("%d%c%d",&N1,&ch,&N1);break; case 'y' : case 'Y ': printf("\nEnter name of file storing magnitude response-->"); scanf("%s",file_name1); fptr=fopen(file_name1,"r"); fscanf(fptr,"%d %d ",&N1,&N1); } N=N1>>1; yt=wherey(); again : gotoxy(1,yt); printf(" "); gotoxy(1,yt); printf("Enter file name for storing impulse response -->"); scanf("%s",file_name); if(((stricmp("FFT.DAT",file_name))==0)|| ((stricmp("TEMP.DAT",file_name))==0)|| ((stricmp("IFFT.DAT",file_name))==0)) { printf("This is a reserved file name. Use some other name.");goto again; }gotoxy(1,yt);printf( " ");ind=access(file_name,0);while(!ind) {gotoxy(1,yt+1);printf ( " ");168 gotoxy(1,yt+1);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 ; case 'n' : gotoxy(1,yt+1); printf ( " "); printf ( " "); gotoxy(1,yt); gotoxy(1,yt); printf("Enter file name -->"); scanf("%s",file_name); ind=access(file_name,0); } } fptri=fopen("FFT.DAT","wb+"); fptro=fopen("IFFT.DAT","wb+"); buffi=(float *)malloc((N1<<1)*sizeof(float)); switch(ch1) { case 'n' : case 'N' : /*Generating data for IFFT. */ printf ("\nEnter cut-off freq. in rad./sec. ( cut-off <= n.)->"); scanf("%f",&Do); Do=(Do/pi)*(float)N; printf("Enter choice (1,2,3,4 or 5):\n"); printf(" 1. Low-pass with abrupt transition.\n"); printf(" 2. High-pass with abrupt transition.\n"); printf(" 3. Low-pass Butterworth.\n"); printf(" 4. High-pass Butterworth.\n"); printf(" 5. Homomorphic characteristcs--->"); while(((ch=getche())!='l')&&(ch!='2') &&(ch!=13)&&(ch!='4')&&(ch!='5')); if(ch=='5') { printf("\nEnter gain at kh«ng freq.-->"); scanf("%f",&gamah); printf("Enter gain at high frequencies.-->"); scanf("%f",&gamah); slope=(gamah-gamal)/Do; }Do*=Do;if((ch=='3')||(ch=='4')) {printf("\n Enter order of Butterworth-->");scanf("%d",&norder);for(i=0;i<norder;i++)Do*=Do; }printf("\n");169 for(i=0;i<N1;i++) { ii=(i-N)*(i-N); for(j=0;j<N1;j++) { R2=(float)((j-N)*(j-N)+ii); if((ch=='3')||(ch=='4')) { for(j1=0;j1<norder;j1++)R2*=R2;}switch(ch) { case '1': /* low-pass abrupt transition.*/ if(R2<Do) H=(float)1.0; else H=(float)0.0; break; case '2': /* high-pass abrupt transition*/ if(R2<Do) H=(float)0.0; else H=(float)1.0; break; case '3': /* low-order Butterworth */ H=Do/(Do+0.414*R2); break; case '4': /* high-order Butterworth. */ H=R2/(R2+0.414-Do); break; case '5': /* homomorphic characteristics. */ if ( R2<Do) H=slope*sqrt((double)R2)+gamal; else H=gamah ; }jj=j<<1;buffi[jj]=H;buffi[jj+1]=0.0; }fwrite(buffi,N1,2*sizeof(float),fptri); }break;case 'y':case 'Y' :for(i=0;i<N1;i++) { for(j=0;j<N1;j++) { fscanf(fptr,"%f ",&H); jj=j <<1 ; buffi[jj]=H; buffi[jj+1]=(float)0.0; } fwrite(buffi,N1,2*sizeof(float),fptri); } fclose(fptr); }rewind(fptri);m=(int)(log10((double)N1)/log10((double)2));170 /* Allocating memory for bit reversal LUT. */L=(unsigned int *)malloc(N1*sizeof(unsigned int));/* Generate Look-up table for bit reversal. */bit_reversal(L,m,N1);/* Allocating memory for twiddle factors. */n2=N1-1;wr=(float *)malloc(n2*sizeof(float));wi=(float *)malloc(n2*sizeof(float));/* Generating twiddle factor. */WTS(wr,wi,N1,1);clrscr() ;FFT2D(fptri,fptro,wr,wi,L,N1,m,1);remove("FFT.DAT");clrscr() ;fptri=fopen("IFFT.DAT","rb");fptro=fopen(file_name,"wb+");nsq=(float)(N1*N1);buffo=(float *)malloc(N1*sizeof(float));for(i=0;i<N1;i++) { fread(buffi,N1,2*sizeof(float),fptri); for(j=0;j<N1;j++) buffo[j]=buffi[2*j]/nsq; fwrite(buffo,N1,sizeof(float),fptro); } fclose(fptri); remove("IFFT.DAT"); rewind(fptro); printf("Enter selection of window function:"); printf("\n 1.Rectangular."); printf("\n 2.Hann."); printf("\n 3.Hamming."); printf("\n 4.Blackmann."); printf("\n 5.Kaiser."); printf("\nEnter (1,2 . etc.)-->"); while(((ch=getche())!='I')&&(ch!='2')&&(ch!='3')&&(ch!='4')&&(ch!='5')); printf("\n"); if(ch!='1') { N2=N1/2 ; theta=pi/((float)N2*sqrt((double)2.0)); for(i=0;i<N1;i++) { ii=(i-N2)*(i-N2); fread(buffo,N1,sizeof(float),fptro); for(j=0;j<N1;j++) { jj=(j-N2)*(j-N2); nsq=(float)(ii+jj); nsqrt=sqrt((double)nsq)/sqrt((double)2.0); switch(ch) {171 [...]... for(i=0;i ... Hệ số b Chỉ số i,j-0.053251 1.000000 0, 0-0 .031599 -0 .561535 0, 1-0 .019086 0.006960 0, 2-0 .031599 -0 .561535 1,00.978508 0.369372 1, 1-0 .576799 0.006188 1, 2-0 .019086 0.006960 2, 0-0 .576799 0.006188 ... if((n<=N) && (m<=N)) continue;if(((m-i)<0)||((n-j)<0)||((m-l)<0)||((n-k)<0)) continue;sum+=h[(m-i)*M1+(n-j)]*h[(m-l)*M1+(n-k)]; }A[kk1*N2+kk2]=sum; }else A[kk1*N2+kk2]=A[kk2*N2+kk1];kk2++; ... if(((m-i)<0)||((n-j)<0)) continue; h[m*MC+n ]-= b[i][j]*h[(m-1)*MC+(n-j)];} }printf(" Enter file_name for storing impulse response");printf(" of designed filter -- & gt;

Ngày đăng: 14/11/2012, 14:45

Hình ảnh liên quan

ở đây R là miền không gạch chéo ở hình (9.14). Bởi vậy, biểu thức (9.17) có thể đợc viết lại dới dạng          ,        ),(200RnmjnimhbQmnNiNjdij∉−−=∑∑ ∑∑ -  Xử lý ảnh - Chương 11

y.

R là miền không gạch chéo ở hình (9.14). Bởi vậy, biểu thức (9.17) có thể đợc viết lại dới dạng , ),(200RnmjnimhbQmnNiNjdij∉−−=∑∑ ∑∑ Xem tại trang 4 của tài liệu.
Hình 9.1 Miền R cho biểu thức (4.19). -  Xử lý ảnh - Chương 11

Hình 9.1.

Miền R cho biểu thức (4.19) Xem tại trang 5 của tài liệu.
9.4 Tính đáp ứng xung -  Xử lý ảnh - Chương 11

9.4.

Tính đáp ứng xung Xem tại trang 5 của tài liệu.
Hình 9.2 Đặc tuyến không gian rút ra từ chơng trình giải thích cho ví dụ của phần nói về -  Xử lý ảnh - Chương 11

Hình 9.2.

Đặc tuyến không gian rút ra từ chơng trình giải thích cho ví dụ của phần nói về Xem tại trang 6 của tài liệu.
Hình 9.3 biểu diễn miền không gian của đáp ứng xung. Vòng tròn xẫm màu nằm ở trung tâm chứa những biên độ lớn nhất của hd (m,n) -  Xử lý ảnh - Chương 11

Hình 9.3.

biểu diễn miền không gian của đáp ứng xung. Vòng tròn xẫm màu nằm ở trung tâm chứa những biên độ lớn nhất của hd (m,n) Xem tại trang 12 của tài liệu.
Bảng 9.1 Hệ số của bộ lọc -  Xử lý ảnh - Chương 11

Bảng 9.1.

Hệ số của bộ lọc Xem tại trang 13 của tài liệu.
Dễ thấy từ các hình này là bộ lọc có miền chuyển tiếp dốc hơn so với bộ lọc FIR 5 cùng thông số -  Xử lý ảnh - Chương 11

th.

ấy từ các hình này là bộ lọc có miền chuyển tiếp dốc hơn so với bộ lọc FIR 5 cùng thông số Xem tại trang 14 của tài liệu.
Hình 9.6 Đáp ứng tần số của bộ lọc IIR. -  Xử lý ảnh - Chương 11

Hình 9.6.

Đáp ứng tần số của bộ lọc IIR Xem tại trang 15 của tài liệu.
Hình 9.7 Đáp ứng biên độ của bộ lọc thông cao IIR kích thớc 3ì 3. -  Xử lý ảnh - Chương 11

Hình 9.7.

Đáp ứng biên độ của bộ lọc thông cao IIR kích thớc 3ì 3 Xem tại trang 21 của tài liệu.
Bảng 9.2 Các hệ số của bộ lọc IIR HPF 3 -  Xử lý ảnh - Chương 11

Bảng 9.2.

Các hệ số của bộ lọc IIR HPF 3 Xem tại trang 22 của tài liệu.
Hình 9.10 ảnh lồng ngực sau khi đợc làm nổi. -  Xử lý ảnh - Chương 11

Hình 9.10.

ảnh lồng ngực sau khi đợc làm nổi Xem tại trang 29 của tài liệu.
Hình 9.9 ảnh chụp xquang lồng ngực. -  Xử lý ảnh - Chương 11

Hình 9.9.

ảnh chụp xquang lồng ngực Xem tại trang 29 của tài liệu.
Hình 9.11 (a) Phóng đại ảnh dựa trên các điểm ảnh riêng biệt; (b) Bộ lọc nội suy. -  Xử lý ảnh - Chương 11

Hình 9.11.

(a) Phóng đại ảnh dựa trên các điểm ảnh riêng biệt; (b) Bộ lọc nội suy Xem tại trang 31 của tài liệu.
Hình 9.12 Bộ lọc nội suy đáp ứng tần số kích thớc ì2 thiết kế từ đáp ứng vuông với -  Xử lý ảnh - Chương 11

Hình 9.12.

Bộ lọc nội suy đáp ứng tần số kích thớc ì2 thiết kế từ đáp ứng vuông với Xem tại trang 33 của tài liệu.
Hình 9.13 Đáp ứng tần số của bộ lọc nội suy ì2 từ đáp ứng hình vuông với miền chuyển -  Xử lý ảnh - Chương 11

Hình 9.13.

Đáp ứng tần số của bộ lọc nội suy ì2 từ đáp ứng hình vuông với miền chuyển Xem tại trang 37 của tài liệu.

Từ khóa liên quan

Tài liệu cùng người dùng

Tài liệu liên quan