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

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

8 7 0

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

THÔNG TIN TÀI LIỆU

Nội dung

Một hệ thống xử lý ảnh cơ bản có thể bao gồm: máy tính cá nhân kèm theo vỉ mạch chuyển đổi đồ hoạ VGA hoặc SVGA, đĩa chứa các ảnh mà bạn dùng để kiểm tra các thuật toán và một màn hình có hỗ trợ VGA hoặc SVGA.

3 F23 (n)   f 23 (k )W4nk (6.28) k 0 f 22 (k)  f 11 (2k) f 23 (k)  f 11 (2k  1) Biểu thức (6.21), (6.22), (6.25) (6.26) biểu diễn sơ đồ hình 6.3 Biểu thức (6.23), (6.24), (6.27) (6.28) tiếp tục chia nhỏ bước làm sau: -4n F20 (n)  F30 (n)  W16 F31 (n) (6.29) -4n F20 (n  2)  F30 (n) - W16 F31 (n) (6.30) -4n F21 (n)  F32 (n)  W16 F33 (n) (6.31) -4n F21 (n  2)  F32 (n) - W16 F33 (n) (6.32) -4n F22 (n)  F34 (n)  W16 F35 (n) (6.33) -4n F22 (n  2)  F34 (n) - W16 F35 (n) (6.34) -4n F23 (n)  F36 (n)  W16 F37 (n) (6.35) -4n F23 (n  2)  F36 (n) - W16 F37 (n) (6.36) F30 (n)   f 30 ( k )W2 nk (6.37) k 0 F31 (n)   f 31 ( k )W2 nk (6.38) k 0 ., vv Các biểu thức từ (6.29) đến (6.36) cho kết bước thứ ba thuật tốn biểu diễn lưu đồ hình 6.4.Mỗi phần tử từ F30(n) đến F37(n) chia tiếp thành hai phần tử bước tạo thành sơ đồ cuối (bước đầu tiên) lưu đồ W-2n X(k) F20(n) F21(n) Hệ số xoay n=0 đến X(k) 84 F10(n) Hình 6.3 Bước thứ hai sau bước cuối thuật toán FFT X(k) X(k) Dãy đầu vào xếp lại 0 0 0 0 1 1 1 1 F30(n) F31(n) F32(n) F33(n) F34(n) F35(n) F36(n) F37(n) 85 Hình 6.4 Bước lưu đồ FFT Hình 6.5 giới thiệu sơ đồ thuật toán FFT cho N = 16 Chú ý yêu cầu ban đầu chương trình mà dãy vào xếp lại chứa X(k), ví dụ X(k)  x(q) k = đến 15 Bạn ý sơ đồ q giá trị bit k Cho N = 24 = 16 phải có bốn bước lưu đồ Trong bước cần phải có tám bướm Trong bướm có phép nhân phức, hai phép cộng trừ phức Tổng số phép nhân phức 8/2 Tổng quát cho N = 2r số phép nhân phức (N/2) r = (N/2 ) log2 N số phép cộng Nlog2N Chú ý, thực tế số phép nhân giảm xuống ít, bước hệ số xoay W0 = bước cịn lại có bướm với hệ số xoay = Xem xét trường hợp N = 1024 = 210 Số phép nhân cần dùng cho FFT (N/2).10 = 1024  = 5120 so với triệu phép nhân cho tính trực tiếp biến đổi DFT, phương pháp tiết kiệm thực cho tính tốn Bây giờ, vạch thuật tốn FFT Đó khơng đơn phát triển chương trình từ lưu đồ Tuy nhiên, nghiên cứu lưu đồ vạch bước dùng để phát triển chương trình Từ lưu đồ hình 6.5 viết: Bước thứ Trong bước ta có tám bướm với trọng lượng (hệ số xoay) W = Chúng ta viết (xem hình 6.6) for (j=0 đến 15 với bước tăng 2) { T=X(j+1); X(j+1)=X(j) - T; X(j)=X(j) + T; } Bước thứ hai Chúng ta có: 1.Bốn bướm với trọng lượng for (j=0 đến 15 với bước tăng 4) 86 { T=X(j); X(j+2)=X(j) - T; X(j)=X(j) + T; } Bốn bướm với trọng lượng W4 = W(3) Chú ý coi hệ số xoay W, W2 , , W7 tính chứa W(0), W(1), W(6) for (j=0 đến 15 với bước tăng 4) { T=X(j)W(3);X(j+2)=X(j) - T; X(j)=X(j) + T; } Bước thứ ba Chúng ta có : Hai bướm với trọng lượng for (j=0 đến 15 với bước tăng 8) { T=X(j); X(j+4)=X(j) - T; X(j)=X(j) + T; } 87 W 8n W 4n n=0 0000 1000 0100 1100 12 0010 1010 10 0110 0 W 2n n=0 ®Õn n=0 ®Õn 14 0 0000 0001 0010 12 12 0011 2 0100 10 10 0101 12 12 0110 14 14 0111 0001 1001 0101 14 1 1000 9 1001 10 1010 13 11 1011 12 1100 11 13 1101 13 14 1110 15 15 1111 1101 13 0011 1011 11 0111 13 3 11 7 11 1111 15 15 15 b­íc n=0 ®Õn 0 1110 W n b­íc b­íc BËc cđa d·y vµo biĨu diễn dạng nhị phân bước Bậc dÃy biểu diễn dạng nhị phân Hỡnh 6.5 Lu thut toán thuật toán phân chia miền thời gian Hai bướm với trọng lượng W (1) = W2 for (j=1 đến 15 với bước tăng 8) { T=X(j)W(1); X(j+4)=X(j) - T; X(j)=X(j) + T; } 88 Hai bướm với trọng lượng W(3) = W4 for (j=2 đến 15 với bước tăng 8) { T=X(j)W(3); X(j+4)=X(j) - T; X(j)=X(j) + T; } f10 (k ) F(2n) f10 (k ) F(2n) f11 (k ) F(2n+1) f11 (k ) F(2n+1) (a) (b) Hình 6.6 (a) Bướm cho thuật tốn phân chia miền tần số;(b) Một bướm đơn giản Hai bướm với trọng lượng W (5) = W6 for (j=3 đến 15 với bước tăng 8) { T=X(j)W(5); X(j+4)=X(j) - T; X(j)=X(j) + T; } Bước thứ tư bước cuối 1.Một bướm với trọng lượng T = X(0) X(8)= X(0) - T X(0) = X(8) +T 89 Một bướm với trọng lượng W (0) = W T = X(1)W(0) X(1+8)= X(1) - T X(1) = X(1) +T Một bướm với trọng lượng W (1) = W2 T = X(1)W(1) X(2+8)= X(0) - T X(2) = X(2) +T Một bướm với trọng lượng W (6) = W7 T = X(7)W(6) X(7+8)= X(7)-T X(7) = X(7) +T Các bước dẫn đến thuật toán với N = 16 Thuật toán ip=1 kk=8 incr=2 cho iter=0 đến bước { cho j=0 đến 15 bước incr { i = j + ip T = X(j) X(i) = X(j) - T X(j) = X(j) +T (iter không 0) { cho k=1 đến ip-1 bước { r = k*kk - cho j=k đến 15 bước 15 { 90 i=j+ip T=X(i)*W(r) X(i)=X(j)-1 X(j)=X(j)+T } } } kk=kk/2 ip= ip*2 inc=inc*2 } Thuật tốn dễ dàng mở rộng cho tất trường hợp N Chỉ có lĩnh vực cịn lại cần phải giải thích xếp lại dãy liệu đầu vào Điều tạo dễ dàng tạo bảng (LUT) L(i), L(i) giá trị đảo ngược bit i Nếu liệu đọc từ file tất việc mà phải làm chuyển địa vùng chúng file qua bảng LUT lưu liệu địa chứa kết dãy đầu vào, X Bước chuyển sang ngơn ngữ C sau: for (i=0; i

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