1. Trang chủ
  2. » Công Nghệ Thông Tin

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

8 6 0

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

THÔNG TIN TÀI LIỆU

Nội dung

Lĩnh vực về “thị giác máy sẽ được trình bày trong một cuốn sách khác. Xử lý ảnh số có rất nhiều ứng dụng như làm nổi các ảnh trong y học, khôi phục lại ảnh do tác động của khí quyển trong thiên văn học, tăng cường độ phân giải của ảnh truyền hình mà không cần thay đổi cấu trúc bên trong của hệ thống chuyển tải, nén ảnh trong khi truyền đi xa hoặc lưu trữ. Vấn đề này được trình bày một cách chặt chẽ trên quan điểm xử lý tín hiệu hai chiều....

suy U ( z1 , z )  1 z11  1  z 21 Phổ tần số tín hiệu bước nhảy tính từ U (e iw1T1 , e iw2T2 )  1   iw1T1 1 e  e iw2T2 3.3 Các lọc hai chiều có đáp ứng xung hữu hạn 2-D Quan hệ đầu vào đầu cho lọc FIR 2-D (FIR - Finite Impulse Response) cho y (n1 , n2 )  N1 N2   h(k1 , k ) x(n1  k1 , n2  k ) (3.11) k1   N1 k   N Trong biểu thức (3.11), h(n1,n2) đáp ứng xung lọc định nghĩa cửa sổ có kích thước (2N1 + 1)  (2N2 + 1) có gốc toạ độ trung tâm; x(n1,n2) tín hiệu vào lọc Nếu x(n1,n2) = với (n1  0)  (n2  0) , cách lấy biến đổi z hai phía biểu thức (3.11) N1 Y ( z1 , z )  N2  k1  k 2   h(k , k ) X ( z , z )z 2 z k1   N k   N (3.12) Hàm truyền đạt lọc 2-D FIR cho H ( z1 , z )  N1 N2 Y ( z1 , z )    h(k1 , k )z1 k1 z 2 k2 X ( z1 , z ) k1   N k   N (3.13) Các lọc định nghĩa có kích thước (2N1 + 1)  (2N2 + 1) Trong hầu hết ứng dụng đặt N1 = N2 = N Đáp ứng tần số lọc 2-D tính từ H (e j1T1 , e j 2T2 )  N1 N2   h( k , k k1   N k   N 2 )e  j1k1T1 e  j k2T2 (3.14) Đáp ứng xung tính từ đáp ứng tần số sau dùng biểu thức (2.17) chương Các lọc có đáp ứng tần với phần số thực tuý gọi lọc pha zero Trong lọc này, pha zero dịch góc , cụ thể có giá trị âm phổ tần số Một lọc pha zero có đáp ứng xung số thực thoả mãn h(n1 , n2 )  h( n1 , n ) Có nghĩa mẫu có giá trị tương ứng Vì thế, biểu thức (3.11) viết lại thành: N y (n1 , n2 )  N   h(k , k )[ x(n  k1 , n2  k ) x(n1  k1 , n2  k )] k1   N k  1 N +  h(k1 ,0)[ x (n1  k1 , n2 )  x(n1  k1 , n2 ) (3.15) k1 1 + h(0,0) x(n1 , n2 ) Do làm giảm số phép nhân cần thiết để thực lọc Cho lọc đối xứng vịng trịn có h(k1 , k )  h( k1 , k )  h(k1 , k )  h( k1 , k ) Và N1 = N2 = N Biểu thức (3.14) viết lại N N y (n1 , n2 )    h(k1 , k )[ x(n1  k1 , n2  k ) k1 1 k 1 + x(n1  k1 , n2  k )  x (n1  k1 , n2  k ) + x(n1  k1 , n2  k )] N (3.16) +  h(0, k)[ x(n1 , n2  k )  x (n1  k , n2 ) k =1 + x(n1 , n2  k )  x(n1  k , n2 )] + h( 0,0 )x(n1 , n2 ) Các lọc đối xứng vịng trịn biểu diễn tích đối xứng bát giác (xem kết ví dụ 2.5 2.6 cho chương 2) Vì h(k1,k2) = h(k2,k1) Và biểu thức (3.16) viết lại thành N N y (n1 , n2 )    h(k1 , k )[ x(n1  k1 , n2  k ) k1 1 k 1 + x (n1  k , n2  k1 )  x(n1  k1 , n2  k ) + x (n1  k , n2  k1 )  x(n1  k1 , n2  k ) + x (n1  k , n2  k1 )  x (n1  k1 , n2  k ) + x (n1  k , n2  k1 )] N   h(k , k )[ x(n1  k , n2  k )  x(n1  k , n2  k ) k 1 + x(n1  k , n2  k ) + x(n1  k , n2  k )] N +  h(0, k)[ x(n1 , n2  k )  x(n1  k , n2 ) k =1 + x(n1 , n2  k )  x(n1  k , n2 )]  h(0,0) x(n1 , n2 ) 3.4 Phần mềm thực lọc 2-D có đáp ứng xung hữu hạn Trong phần chúng tơi trình bày phương pháp thực phần mềm lọc 2-D FIR cho xử lý ảnh số Chúng ta coi ảnh lưu nhớ đĩa cứng hay vùng đệmảnh Số dòng tối thiểu cần cho việc xử lý, lưu nhớ, cho phép lọc ảnh lớn mà không cần dự trữ lượng lớn nhớ máy tính Phương pháp mơ tả sơ đồ hình 3.1 ((độ_rộng_của_ảnh-1),0) (0,0) n2 Bộ đệm chuyển đổi ảnh w dịch Hàng thứ n1 (trong nhớ trong) kích thước = (2N + 1)  độ rộng ảnh Độ rộng ảnh Chiều dài ảnh (0,2N) N z n2  Bộ đệm ảnh N   h(k1 , k ) w( N  k1 , n2  k ) k1   N k   N n1 z n2 Lưu trữ nhớ hay đệm ảnh Buffer Kích thước =  độ rộng ảnh Hình 3.1 Lọc 2-D Thuật tốn gồm bước sau: Xoá đệm ảnh, w Cho n1 = (0, 1, 2, , (chiều dài ảnh -1), làm công việc sau: a Chuyển hàng thứ n1 từ đệm ảnh từ file ảnh lên hàng cuối w (Chúng ta coi ảnh biểu diễn bit hay 256 mức xám) b Cho n2 = 0, 1, 2, , (chiều rộng ảnh-1) làm cơng việc sau: (1) Tính z(n2) từ N z ( n2 )  N   h( k , k )w( N  k1 , n  k ) k1   N k   N (2) Lưu z(n2) đệm vùng n2 c Copy đệm file trung gian đĩa cứng d Dịch chuyển hàng w theo hướng hình 3.1, cụ thể, cho i = 0, 1, , (2N - 1) làm công việc sau: rowi  rowi 1 Đọc ảnh lọc từ file trung gian, chia độ dịch chuyển để giá trị nằm khoảng từ đến 255 (8 bit) Lưu ảnh chia độ lên file đệm ảnh Xoá file trung gian Hiện thị ảnh lọc Chú ý biểu thức dùng thuật toán này, N z ( n2 )  N   h(k , k ) w( N  k , n 2  k2 ) k1   N k   N (3.18) Để lọc ảnh có khác với biểu thức truy hồi (3.11) Điểm khác thứ nhất: N số thay cho n1, với n1 biến biểu thức (3.11) Biến thuật tốn tính cách dịch chuyển hàng w Giải thuật dẫn đến kết với biểu thức N y (n1 , n )  N   h(k1, k ) x(n1  N  k1 , n2  k ) (3.19) k1  N k   N Tương tự biểu thức (3.11) ngoại trừ dịch chuyển N hàng ảnh ra, N Y ( z1 , z )  N   h(k1 , k ) X ( z1 , z ) z1 N k z 2k k1   N k   N hay N N Y ( z1 , z )  z1 N   h(k1 , k ) z1 k1 z 2 k2 X ( z1 , z ) k1   N k   N (3.20) Chính biến đổi z biểu thức (3.11) nhân với trễ dọc z1 N Để tính lọc đối xứng vịng trịn, biểu thức (3.18) viết lại dạng biểu thức (3.17) cách thay n1 N N N z ( n2 )   h(k1 , k )  [ w( N  k1 , n2  k )  w( N  k2 , n2  k1 ) k1 1 k 1 k1  k + w( N  k1 , n2  k )  w( N  k , n2  k1 ) + w( N  k1 , n2  k )  w( N  k , n2  k1 ) + w( N  k1 , n2  k2 )  w( N  k , n2  k1 )] N +  h(k, k)[ w( N  k , n2  k )  w( N  k , n2  k ) (3.21) k =1 + w( N  k , n2  k )  w( N  k , n2  k )] N +  h(0, k)[ w( N , n2  k )  w( N  k , n2 ) k =1 + w( N , n2  k )  w( N  k , n2 )] + h(0,0)w( N , n2 ) Chương trình 3.1 “FIR.C” Lọc ảnh dùng kiểu lọc FIR /*PROGRAM 3.1 "FIR.C" Program for filtering Images using FIR type filters.*/ /* This program is for filtering images using the algorithm described in sec.3.4 The filter type is FIR No assumptions are made regarding the filter coefficients (e.g circular symmetry) Thus, the program is general enough to be used with any type of FIR filter The FIR filter coefficients can be obtained using the the Simpson's double integration program described in chapter II */ #include #include #include #include #include #include #include #include void main() { int i,j,n1,n2,N,NT,N2,image_width, image_length,k1,k2; int true_width,true_length,ind; char file_name[14],ch; unsigned char **w; unsigned char *temp; float **h,max,min; float nsq, zn2, tmp; FILE *fptr, *fptr1, *fptr_tmp; clrscr(); printf ("Enter file name containing FIR filter coefficients ->"); scanf("%s",file_name); if((fptr=fopen(file_name,"r"))==NULL) { printf("%s does not exist.",file_name); exit(1); } /* calculating order of filter */ nsq=0; while(fscanf(fptr,"%f ", &tmp)!=EOF) nsq++; rewind(fptr); NT=sqrt(nsq); printf("Order of filter %d x %d",NT,NT); N=(NT-1)>>1; N2=N

Ngày đăng: 08/05/2021, 11:33

TÀI LIỆU CÙNG NGƯỜI DÙNG

  • Đang cập nhật ...

TÀI LIỆU LIÊN QUAN