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

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

11 1 0

Đ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

Thông tin cơ bản

Định dạng
Số trang 11
Dung lượng 461,48 KB

Nội dung

Tham khảo tài liệu ''giáo trình xử lý ảnh y tế tập 1a p4'', công nghệ thông tin, đồ họa - thiết kế - flash phục vụ nhu cầu học tập, nghiên cứu và làm việc hiệu quả

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 toá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