Giáo trình xử lý ảnh y tế Tập 2 P9
lượt xem 4
download
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
Bình luận(0) Đăng nhập để gửi bình luận!
Nội dung Text: Giáo trình xử lý ảnh y tế Tập 2 P9
- rằng không thể loại trừ tính không nhân quả bằng một phép toán đ ơn giản. Nếu chúng ta, nói m ột cách khác, giả thiết điều kiện ban đầu là 0, chúng ta quay trở lại hàm truyền đạt (9.1) với kích thước mới là 2N 2N. MM Lựa chọn thứ hai yêu cầu một bộ lọc có bậc nhỏ nhất là . Điều này 2 2 làm tiêu tan những mục đích m à chúng ta đ ặt ra trước đây khi chọn bộ lọc IIR trước FIR. Sự cần thiết cho những bậc cao phát sinh từ thực tế là: đáp ứng xung b ắt đầu gần như từ không và tăng lên đến cực đại sau trễ của M mẫu 2 theo cả hai hướng. Nghĩa là một đơn vị mẫu vào cần trải qua một khoảng thời gian trễ khá lớn. Lựa chọn thứ ba bắt nguồn từ thực tế rằng nếu như phổ biên đ ộ đã tính b ằng cách dùng góc ph ần tư đơn lẻ n ày, trong trường hợp đối xứng vòng tròn, nó sẽ cho kết quả của phổ biên độ như đ ã chỉ ra lúc đầu. Tuy nhiên đặc tính pha sẽ không ph ải là đ ặc tính pha sẽ chỉ ra lúc đầu. Lựa chọn thứ tư, dùng hai tính ch ất của biến đổi Fourier : 1 . Đáp ứng xung giảm đi rất nhanh khi ra xa khỏi trung tâm . 2 . Một dịch chuyển trong đáp ứng xung thì tương đương với một phép cộng một pha tuyến tính vào đặc tuyến tần số. Như chúng tôi đã nhấn m ạnh trong các chương trước, pha tuyến tính là một mong muốn trong xử lý ảnh. Nếu chúng ta bắt đ ầu với trư ờng hợp pha không, sau đó áp dụng lựa chọn cuối cùng chúng ta có thể thiết kế bộ lọc với pha gần như tuyến tính. Chú ý rằng “dịch chuyển” trong h ình 9.3b tốt nhất là nên đặt là N - 1. Dùng đ ặc tuyến tần số cho bộ lọc thông cao với N = 2 , và dịch chuyển = 1, ta có th ể thiết kế hàm truyền đạt dùng các giả thiết của Shanks. Độ lớn, góc pha, và đáp ứng xung của bộ lọc thiết kế cho ở hình 9.4, 9.5 và 9.6. Các hệ số của bộ lọc cho ở bảng 9.1. Bảng 9.1 Hệ số của bộ lọc Hệ số a Hệ số b Ch ỉ số i,j 1.000000 0,0 - -0.561535 0,1 - 0.006960 0,2 - -0.561535 1,0 - 0.978508 0 .369372 1,1 0.006188 1,2 - 0.006960 2,0 - 0.006188 2,1 - 0.357313 0 .003567 2,2 177
- 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 5 cùng thông số. Nó có đặc tuyến pha tuyến tính và ổn định hơn. Để chứng minh là bộ lọc IIR có miền chuyển tiếp dốc hơn bộ lọc FIR có cùng các hệ số, bạn hãy chạy thử chương trình thiết kế bộ lọc FIR và sau đó so sánh kết qu ả. Hình 9.4 Phổ biên độ của bộ lọc 2-D. 178
- H ình 9.5 Phổ pha của bộ lọc IIR 2-D. H ình 9.6 Đáp ứng tần số của bộ lọc IIR. Chương trình dùng để thiết kế bộ lọc IIR dùng các giả thiết của Shanks cho ở chương trình 9.2. Chương trình 9.2 "IIRD.C". Thiết kế mạch lọc dùng phương pháp Shanks. /* This program is for designing 2-D IIR filters using Shanks's method. You will need to run IMPULSE.EXE first. */ #define pi 3.141592654 #include #include #include #include #include #include #include void SIMQ(float *,int); 179
- void main() { FILE *fptri,*fptro; double nsq; int M,i,j,l,k,m,n,N,N1,N2,kk1,kk2,Nt,M1,NO,MSQ,M2,y,MC,yt,ind; float *A, **a,**b,*buffi,sum; float zrt,zit,zrb,zib,mag,*w,winc; float *h,xrm,xim,xrn,xin,rl,im,theta; char file_name[14],ch; clrscr(); printf("Enter file name for impulse response -->"); scanf("%s",file_name); fptri=fopen(file_name,"rb"); if(fptri==NULL) { p rintf("File does not exist."); exit(1); } nsq=(double)(filelength(fileno(fptri))/sizeof(float)); M=(int)sqrt(nsq); printf("Enter order of 2 -D IIR filter (e.g. 1,2 ... etc.)-->"); scanf("%d",&N); NO=N-1; /* printf("Enter offset of impulse response.\n"); p rintf(" Optimum value is (order o f filter-1).-->"); scanf("%d",&NO); */ M1=M/2+NO; M2=M/2-NO; MSQ=M1*M1; fseek(fptri,(long)(M2)*(long)(M*sizeof(float)),SEEK_SET); /* Allocating memory for impulse response. */ h=(float *)malloc(MSQ*sizeof(float)); /* Allocating memory for b coefficients. */ b=(float **)malloc((N+1)*sizeof(float *)); for(i=0;i
- N2=(N+1)*(N+1); A=(float *)malloc(N1*N2*sizeof(float)); /* Allocating memory for freq. vector. */ w=(float *)malloc((M+1)*sizeof(float)); /* Reading in the impulse response. */ buffi=(float *)malloc(M*sizeof(float)); for(i=M2;i
- } sum=(float)0.0; for(m=0;m
- gotoxy(1,yt+2); printf("Enter file name for storing coefficients-->"); scanf("%s",file_name); ind=access(file_name,0); while(!ind) { gotoxy(1,yt+3); printf( " "); gotoxy(1,yt+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; case 'n': gotoxy(1,yt+3); printf(" "); gotoxy(1,yt+2); printf(" "); gotoxy(1,yt+2); printf("Enter file name -->"); scanf("%s",file_name); ind=access(file_name,0); } } fptro=fopen(file_name, "w"); fprintf(fptro, " %d" , N); for(i=0;i
- /* Calculating the impulse response. */ for(m=0;m
CÓ THỂ BẠN MUỐN DOWNLOAD
-
Giáo trình xử lý ảnh y tế Tập 1a P1
11 p | 774 | 25
-
Giáo trình xử lý ảnh y tế Tập 1a P17
10 p | 670 | 17
-
Giáo trình xử lý ảnh y tế Tập 1b P1
8 p | 135 | 16
-
Giáo trình xử lý ảnh y tế Tập 1b P15
8 p | 142 | 13
-
Giáo trình xử lý ảnh y tế Tập 1b P5
8 p | 154 | 13
-
Giáo trình xử lý ảnh y tế Tập 1b P3
8 p | 127 | 13
-
Giáo trình xử lý ảnh y tế Tập 4 P18
6 p | 341 | 11
-
Giáo trình xử lý ảnh y tế Tập 1a P15
10 p | 695 | 11
-
Giáo trình xử lý ảnh y tế Tập 1b P4
8 p | 122 | 10
-
Giáo trình xử lý ảnh y tế Tập 1b P2
8 p | 124 | 10
-
Giáo trình xử lý ảnh y tế Tập 1b P16
8 p | 110 | 10
-
Giáo trình xử lý ảnh y tế Tập 4 P8
6 p | 144 | 9
-
Giáo trình xử lý ảnh y tế Tập 1a P4
11 p | 586 | 8
-
Giáo trình xử lý ảnh y tế Tập 3 P7
9 p | 98 | 7
-
Giáo trình xử lý ảnh y tế Tập 1b P14
8 p | 107 | 7
-
Giáo trình xử lý ảnh y tế Tập 4 P5
6 p | 136 | 6
-
Giáo trình xử lý ảnh y tế Tập 2 P15
8 p | 115 | 5
-
Giáo trình xử lý ảnh y tế Tập 3 P13
9 p | 109 | 4
Chịu trách nhiệm nội dung:
Nguyễn Công Hà - Giám đốc Công ty TNHH TÀI LIỆU TRỰC TUYẾN VI NA
LIÊN HỆ
Địa chỉ: P402, 54A Nơ Trang Long, Phường 14, Q.Bình Thạnh, TP.HCM
Hotline: 093 303 0098
Email: support@tailieu.vn