intTypePromotion=1
zunia.vn Tuyển sinh 2024 dành cho Gen-Z zunia.vn zunia.vn
ADSENSE

Giáo trình xử lý ảnh y tế Tập 1a P2

Chia sẻ: Cinny Cinny | Ngày: | Loại File: PDF | Số trang:11

75
lượt xem
11
download
 
  Download Vui lòng tải xuống để xem tài liệu đầy đủ

Thuật toán trên có thể dễ dàng mở rộng cho tất cả các trường hợp của N. Chỉ có một lĩnh vực còn lại cần phải giải thích là sự sắp xếp lại các dãy dữ liệu đầu vào. Điều này có thể tạo ra dễ dàng nếu chúng ta tạo ra một bảng (LUT) L(i), L(i) là các giá trị đảo ngược bit của i.

Chủ đề:
Lưu

Nội dung Text: Giáo trình xử lý ảnh y tế Tập 1a P2

  1. Hình 2.3 TV và TH cho lấy mẫu ảnh trên một ma trận camera CCD. Hình 2.4 TV và TH cho một ảnh quét xen kẽ. H(1,2) xác định trên bộ miền Hàm toàn     1         2    và là hàm tuần hoàn trong miền tần số với chu kì tuần hoàn là 2 đối với 1 và 2. H(u,v) xác định trên miền  1 2 TV  u  1 2 TV    1 2 TH  v  1 2 TH  và là hàm tuần hoàn với chu kì 1/TV và 1/TH cho u và v. Có thể chiếu H(1, 2) hoặc H(u, v) lên miền chuẩn hoá, ở đây /1, /2 1,1 bằng cách đặt /1=1/; /2=2/ hoặc /1=2uTV; /2=2vTh . /1 và /2 gọi là tần số chuẩn hoá, hàm H(/1, /2 ) có thể viết lại 11
  2. H (1 ,  2 )    h( k1 , k 2 )e j (1k1 2 k2 )  k1 k2 (2.13) Nếu chúng ta hạn chế h(n1,n1) chỉ lấy các giá trị thực thì đáp ứng tần số thoả mãn: H (e j1 , e j 2 )  H  (e  j1 , e  j 2 ) (2.14) H* = liên hợp phức của H. Điều này dẫn đến H(1,2) đối xứng (Hình 2.5). 2 A* B 1 * A B Hình 2.5 Đối xứng tâm. Chú ý rằng nếu x(n1,n2) = (n1,n2), thì biểu thức (2.2) trở thành y(n1,n2) = h(n1,n2). Vì lý do này mà h(n1,n2) được gọi là đáp ứng xung, hoặc là đáp ứng biên độ, của hệ thống 2-D. Bài tập 2.1 Tính biểu thức đáp ứng tần số của một hệ thống với đáp ứng xung cho bởi n1  1, n 2  1 0.125 0.125 n1  1, n 2  0   n1  0, n2  1 h(n1 , n2 )  0.125 0.5 n1  n 2  0  c¸c tr­êng hîp cßn l¹i 0.0  Chứng minh rằng công thức tính đáp ứng tần số có thể tách được. 12
  3. 2.5 Tính đáp ứng xung từ đáp ứng tần số Đáp ứng tần số của h(n1,n2) được cho bởi : H(1 ,  2 )    h(n1 , n2 )e  j (1n1  2n2 ) (2.15) n1 n 2 Xét tích phân  1 )e j (1k1  2 k2 ) d 1 d 2   H ( ,  1 2 4 2  (2.16) Thay biểu thức (2.15) vào biểu thức (2.16) chúng ta được  1 ) e  j (1n1  2 n2 ) )e j (1k1  2k 2 ) d 1 d 2   (  h(n , n 1 2 4 2 n1 n2  Và có thể viết thành   1 1   h(n1 , n 2 )    j ( n  k )  j 2 ( n2  k 21 )  e 1 1 1 d 1 d 2  e 2 2 n1 n2   Và biến đổi thành   h(n , n ) (n  k1 ) (n2  k 2 )  h(k1 , k2 ) 1 2 1 n1 n2 Điều này có nghĩa là đáp ứng xung có thể tính từ đáp ứng tần số qua mối quan hệ:  1 )e j (1n1  2n2 ) d1d 2 h(n1,n2) =   H ( ,  1 2 4 2  (2.17) Nếu đáp ứng tần số được cho dưới dạng hàm của u,v (vòng/đơn vị), thì biểu thức (2.17) có thể viết thành 1T 1T 2V 2H j 2 ( uTV n11  vTH n2 ) (2.18)   H (u, v) e h(n1 , n2 )  TV TH dud v  1 TV _ 1 TH 2 2 Hoặc cho tần số chuẩn hoá: 11 1 j ( n   n ) (2.19) 1 1 H (1,  2 )e 1 1 2 2 d1d 2 h(n1 , n2 )  4 13
  4. Ví dụ 2.3 Cho đáp ứng tần số 1 | 1 | a  , |  2 | b  H (1 ,  2 )   0 c¸c tr­êng hîp cßn l¹i (xem hình 2.10), hãy tính đáp ứng xung. 2  b -  -a a 1 b - Hình 2.10 Ví dụ 2.3. Giải Từ phương trình (2.17) chúng ta có thể viết : ab 1 j (  n  n )  e 1 1 2 2 d1d 2 4 2 a b h(n1 , n2 )  a b 1 1 j n j n  e 1 1 d1  e 2 2 d 2 = 2 2 b a sin(an 1 ) sin(bn 2 ) = . n1 n2 Bởi vì đáp ứng tần số là hàm tách được của hai biến 1 và  2 nên đáp ứng xung cũng là một hàm hai biến tách được. Khái niệm “tách được” ở đây nghĩa là có thể phân tích h(n1,n2) = f1(n1).f2(n2). Ví dụ 2.4 Tìm đáp ứng xung của một bộ lọc thông thấp đối xứng vòng tròn lý tưởng được mô tả như sau (xem hình 2.11 và 2.12): 14
  5. 1  12   2  R  2 2 H (e j1 , e j 2 )   0 c¸c tr­êng hîp cßn l¹i Giải Có thể dễ dàng thấy nếu H (1 , 2 ) là một hàm đối xứng vòng tròn lý tưởng, cụ thể là H (1 , 2 )  H ( 12   22 ) thì h(n1 , n2 ) cũng là một hàm tuần hoàn đối xứng vòng tròn, tức là h(n1 , n2 )  h( n12  n22 ) . Vì vậy cách dễ dàng nhất để tìm h(n1 , n2 ) là tìm h(n1, 0) và hàm n1 + n 2 theo n1. Chúng ta rút ra h(n1 ,0) từ: 2 2 1 j1n1 d1d 2 h( n1 ,0)   e 4 2 A R 2  2 2 R 1 j1n1 d 1  d  h(n1 ,0)  e 2 4 2 R 2 2  R  2 R 1 j1n1 2 R cos( )d 1 = e 4 2 -R Ta có 1  R sin( ) d1  R cos( ) d /2 1 e jRn1 sin  d 2  h( n1 ,0)   2R cos 2 4 -/2 R 1   /2 e jRn1 sin  d  2 hoặc h(n1 ,0)   / 2 ( Rn1 ) cos  2n1   2  -  R -R 1 - 15
  6. Hình 2.11 Ví dụ 2.4. Hình 2.12 Ví dụ 2.4. Biểu thức này có thể biểu diễn thành R h(n1 ,0)  J ( Rn1 ) 2n1 1 ở đây J1(x) = hàm Bessel loại 1. Vì thế : 2 2 RJ1 ( R n1  n2 ) h(n1 , n 2 )  2 2 2 n1  n2 Không phải lúc nào cũng dễ dàng rút ra được một biểu thức phân tích đáp ứng xung như trên. Ví dụ dưới đây minh hoạ việc sử dụng phép tích phân số để thu được h(n1 , n2 ) . Ví dụ 2.5 Tính đáp ứng xung của bộ lọc thông thấp Butterworth đối xứng vòng tròn có đáp ứng tần số cho bởi 1 H (1 ,  2 )  2 1 2 R (1 ,  2 ) 1 Do2 16
  7. ở đây    1   ,     2   , R(1 ,  2 )  12   22 và D0 = 3-dB. (Giả thiết rằng Do  0.3 ). Dùng biểu thức trong công thức 2.17 để tính đáp ứng xung với n1  5,...,5, n2  5,...,5. Giải Vì H (1 ,  2 ) là thực và đối xứng vòng tròn, công thức (2.17) có thể viết đơn giản lại là   1   H ( ,  ) cos(1 n1   2 n 2 )d 1d 2 h(n1 , n 2 )  1 2 4 2   đơn giản hơn nữa ta có thể viết    1 (2.20) h(n1 , n 2 )  2  cos( 1n1 )    H (1 ,  2 ) cos( 2 n2 )d 2 d1 0 0  Lời giải của bài toán này sẽ được đưa ra thông qua một chương trình viết bằng ngôn ngữ C. Ngôn ngữ C được sử dụng rộng rãi bởi tính linh hoạt của nó. C phù hợp cho các ứng dụng khác nhau. Trước khi bạn viết chương trình, bạn cần nghiên cứu phương pháp tính tích phân kép. Sau đây ta sẽ phát triển thêm qui tắc Simpson để tính tích phân kép. Qui tắc tính tích phân của Simpson được viết như sau: xm I  f ( x)dx x0   m 1 m 2 x    f ( x0 )  4  f ( xi )  2  f ( xi )  f ( xm )  3 i 1, 3,... i  2 , 4,...     ch½n lÎ ở đây  x  ( xm  x 0 ) / m; và m là một số lẻ. Với tích phân kép xm yn I f ( x, y )dxdy  x0 y0 Sử dụng qui tắc Simpson ta có thể viết như sau:   yn m 1 m 2     f ( x 0 , y )  4  f ( x i , y )  2  f ( xi , y )  f ( x m , y )  d y I x  3 i 1, 3,... i  2, 4 ,...   y0   lÎ ch½n 17
  8. vậy có thể viết  f ( x0 , y )     f ( x1 , y)  y n [14242...241]   f ( x2 , y )  dy I  x  3 y0      f ( xm , y )   Lại áp dụng qui tắc Simpson vào công thức trên ta có x  y I [14242...241]  33 1   4   f ( x0 , y0 ) f ( x0 , y1 ) f ( x0 , y2 ) ... f ( x0 , yn )  2  f ( x , y ) f ( x , y ) f ( x , y ) ... f ( x , y )      4  1 0 1 1 1 2 1 n   2 (2.21)                f ( xm , y0 ) f ( xm , y1 ) f ( xm , y2 ) ... f ( xm , yn ) 2     4 1   ở đây  x  ( x m  x0 ) / m  y  ( y m  y0 ) / n m và n là số lẻ. Nếu H (1 ,  2 ) là thực và có tính đối xứng vòng tròn, thì đáp ứng xung có thể được tính từ tích phân kép   1 H (1 ,  2 ) cos(1n1 ) cos( 2 n2 ) d1d 2 h( n1 , n2 )   2 0 0 Dùng công thức trên có thể viết một chương trình C để thu được đáp ứng xung từ đáp ứng tần số. Dưới đây là chương trình được viết bằng Turbo C 2.0. Chương trình 2.1 "FILTERD.C". Tính đáp ứng xung từ đáp ứng tần số /*Program to compute the impulse from the frequency response.*/ 18
  9. /* Chuong trinh nay dung de tinh dap ung xung cua bo loc 2-D tuan hoan doi xung. Dap ung tan so cua bo loc duoc cho boi nguoi dung trong chuong trinh con tinh ham H(float w1, float w2). */ #include #include #include #include #include #define pi 3.1415926 int n1,n2; float f(float,float); float H(float,float); float Simpson2(float(*)(float,float),float,float,float,float,int,int); void main(void) { float f(float,float),xmin,xmax,ymin,ymax; int M,N; int NS,xt,yt; float h[11][11],temp; char file_name[40],ch; FILE *fptr; clrscr(); xmin=ymin=0.0; xmax=ymax=pi; M=N=20; /* So cac diem chia theo phuong x va y. cac gia tri nay phai la chan.*/ gotoxy(1,2); printf (" This program calculates the impulse response from the"); printf("\n frequency response."); printf("\n The impulse response is calculated over a window"); printf("\n centered around the origin."); 19
  10. printf ("\n Enter the number of samples in the impulse response."); printf("\n e.g. 7*7 (max. 11*11) (number have to be odd.)-->"); scanf("%d*%d",&NS,&NS); NS=(NS-1)>>1; /* chieu rong va chieu dai cua mot cua so*/ xt=wherex(); yt=wherey(); gotoxy(70,25); textattr(WHITE+(GREEN
  11. for(n2=NS;n2
ADSENSE

CÓ THỂ BẠN MUỐN DOWNLOAD

 

Đồng bộ tài khoản
2=>2