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

Xử lý ảnh - Chương 8

50 1,1K 4
Tài liệu đã được kiểm tra trùng lặp

Đ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

Tiêu đề Biến đổi Fourier rời rạc
Trường học Trường Đại Học Khoa Học Tự Nhiên
Chuyên ngành Xử lý ảnh
Thể loại bài giảng
Thành phố Thành phố Hồ Chí Minh
Định dạng
Số trang 50
Dung lượng 1,24 MB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

Xử lý ảnh

Trang 1

Chơng 6

Biến đổi Fourier rời rạc

1 ) (

2 1 2

(

k k j

e k k h

) (

2 1 2

1

1 2

2 2 1 1

) , ( )

,

k

N k

k k j

e k k h

H ω ω ω ω (6.2)

Công thức này chứng tỏ rằngH( ω ω1, 2)là tuần hoàn, chu kỳ tuần hoàn là 2π Nếu chúng

ta lấy mẫu dới dạng ω1, ω2, và miền xác định là (0 ≤ω1≤ 2π) và (0 ≤ ω2≤ 2π), N ì N mẫu,

0 1 22

1

1

2 2 1 2

) , ( )

,

k

k n k N j N

k

e k k h n

n

Biểu thức (6.4) đợc gọi là biến đổi Fourier rời rạc 2-D hay còn gọi là DFT Công thức này

đ-ợc áp dụng vào nhiều ứng dụng nh lọc, nén ảnh, phóng đại ảnh Trong chơng này chúng ta sẽ nghiên cứu 2-D DFT và các kỹ thuật tính toán Đầu tiên, chúng ta sẽ xem xét 1-D DFT, sau

đó mở rộng ra cho 2-D

6.2 Biến đổi Fourier 1-D

Biến đổi Fourier 1-D cho tín hiệu thời gian rời rạc f(kT) tính theo công thức :

Trang 2

nk N j

e kT f n

(

N n

nk N

W k f n

1 )

n

nk N

j

e n F N k f

1 0

) (

1 0

1 0

1 0

) ( 1

) (

1 )

( 1

kn N N

n

N

m

nm N N

n

nk N

W m f N

W W m f N

W n F N

N n

m k n N

W S

)) ( 2 (

m) - (k N

m) - N(k N

1 1

W - 1

W - 1

m k N j

m k j

e e S

Khi e j2π(k-m) = 1 vµ e j2π/N (k-m) ≠ 1 víi (k ≠ m), v× vËy S = 0 víi (k ≠ m )

V× vËy, biÓu thøc (6 9) cã thÓ rót gän thµnh

Trang 3

f(k).N

1 )

Kết quả này giống nh biểu thức (6.8)

Khi f(k) có thể rút ra từ F(n) và ngợc lại, chúng gọi là cặp biến đổi Cặp biến đổi này có dạng

f ( k ) ⇔ F ( n )

Chú ý từ biểu thức (6.8) ta có thể dễ dàng chứng minh:

) (

) ( 1

) ( 1

1 0

2

1 0

) ( 2

k f

e n F N

e n F N

N

n

nk N j

N

n

N k n N j

6.2.2 Một vài tính chất của DFT

k

nk N j N

k

N N j

N

k

n N k N

e e k f

e e k f

W k f n

N F

2 1

0

2 1

0

2

1 0

) (

) (

) (

) ( )

Trang 4

n F e

k f n

N

k

nk N

j π

(6.13)

DÊu * cã nghÜa lµ liªn hîp phøc

Fourier rêi r¹c lµ F1 (n) vµ F 2 (n) Xem xÐt tÝch F(n 1 ).F(n 2 )

khi ( ) 1 ( )

1 1

1

1 1

W k f n

)

( )

2 2

2

2 2

W k f n

) (

1 0 2 2 1

0 1 1

1 0

1 0

1 0

) ( 2 2 1 1

2 1 2

1

1 2

2 1

1 ) ( )

(

) ( ) ( 1

N n

k k k n N N

k

N k

nk N N

n

N k

N k

k k n N 3

W N k f k f

W W

k f k f N

(k) f

k k k n

W N

ë ®©y l lµ sè nguyªn V× vËy mµ

) (

) ( )

0 1 1 1

=

.

=

2 n -

N 21

1 1

2

2 2 1

1 1

0

2 2 1 1 1 0

1 0 1 2 1

0 1 1 1

1 1 1

) ( ) (

) ( )

( )

( ).

(

k N

k

k N N

n

N

k

k n N N

k

k N

W k f k f

W k f W

k f n

F n F

Trang 5

ở đây k = 0 đến 2N - 1

Biểu thức trên biểu diễn tích chập của hai tín hiệu tuần hoàn Chú ý rằng biêủ thức này chỉ

áp dụng cho hai d y có chung một chu kỳ, và chiều dài của d y tính theo biểu thức trên là ã ã 2N -

1 Kết quả này chứng minh rằng trong DFT, tín hiệu có số mẫu lớn hơn N sẽ đợc biến đổi

thành d y tuần hoàn có chu kỳ ã N Khi dùng DFT cho một tín hiệu không có chu kỳ, mà kết quả

thu đợc từ tích hai d y, ta sẽ phạm một sai lầm gọi là lỗi ã wraparound Đó là lý do ta phải làm

cho cả hai d y có chu kỳ bằng nhau Để sửa lỗi này, một số số 0 cần phải thêm vào cả hai d y đểã ãchiều dài hai d y bằng nhau Ví dụ, nếu một d y có chiều dài ã ã A, một d y có chiều dài ã B, kết quả

ta phải thêm các số 0 cho cả hai d y có chiều dài ít nhất là ã A + B - 1.

1 ) (

1 ) (

f

1 Tính bằng tay tích chập của hai d y trên Vẽ một lã u đồ biểu diễn thuật toán

2 Làm lại phần 1, nhng lần này sử dụng tích chập tuần hoàn

3 Lập một chơng trình C rút ra f3 (k) từ biểu thức f 3 (k) = IDFT{DFT[f1 (k)] DFT[f 1 (k)]} So sánh kết quả của phần 1 và phần hai

4 Bây giờ thêm các số không vào f1 (k) và f 2 (k) để chu kỳ của chúng = 5 + 6 - 1 Làm lại

phần 3 và so sánh kết quả

6.3 Thuật toán biến đổi nhanh Fourier

Tính trực tiếp giá trị của DFT bao gồm N phép nhân phức và N - 1 phép cộng phức cho mỗi giá trị của F(n) Khi N giá trị đợc tính toán thì N2 phép nhân và N(N - 1) phép cộng đợc tính toán Cũng nh vậy, cho N có giá trị rất lớn, tính trực tiếp giá trị của DFT sẽ đòi hỏi một số phép tính lớn đến mức không thể chấp nhận đợc Để ví dụ, cho N = 1024 = 210 ta sẽ phải tính

220 = 1,048,576 phép nhân số phức và một số gần bằng nh vậy các phép cộng

Hoàn thiện có nghĩa là phải giảm số phép tính trong biến đổi Fourier xuống Dới đây chúng

ta sẽ giới thiệu hai thuật toán hay dùng là thuật toán phân chia thời gian và thuật toán phân chia tần số DFT dùng các thuật toán trên gọi là Fast Fourier transform (FFT)

6.3.1 Thuật toán phân chia thời gian

Xem xét tính toán của DFT cho bởi (5.6) với N= 2r (r là một số nguyên bất kỳ) Cơ sở của thuật toán phân chia thời gian thì rõ ràng Tuy nhiên, việc thiết kế phần mềm cũng đòi hỏi một số phân tích chi tiết Để làm rõ các bớc của thuật toán này chúng ta sẽ bắt đầu phân tích với N = 16 và sau đó mở rộng ra áp dụng cho N bất kỳ

Cơ sở của thuật toán phân chia thời gian dựa trên cơ sở chiến lợc chia và chiếm Các bớc sau sẽ làm sáng tỏ thuật toán Vì trong trờng hợp này N =16; nên,

0 ≤ k1 ≤4các trờng hợp còn lại

0 ≤ k1 ≤ 5các trờng hợp còn lại

Trang 6

k

nk

W k f n

0

) ( )

(

k

nk k

nk f k W W

k f n

0

) 2 (

) 2 ( )

(

k

k n k

k

W k f n

n j k

n

W

e e

2 )

2 ( 16

2 )

2 ( 16

π π

) 1 2 ( )

2 ( )

(

k

nk n

k

W k f n

7 0

8

) (

k

nk n

k

W k f n

k

nk

W k f n

k

nk

W k f n

Trang 7

(n) F W - (n) F 8)

Biểu thức (6.19) và (6.20) định dạng những đơn vị tính toán gọi là bớm Hình 6.1 là biểu đồ của phần tử bớm Ký hiệu W16 -n thờng gọi là trọng lợng hay hệ số xoay Hai biểu thức này biểu diễn bớc cuối cùng trong lu đồ tính toán của hình 6.2

Bây giờ xem xét biểu thức

k

nk

W k f n

k

nk n

k

W k f n

(2k) f (k) f

10 21

10 20

Trang 8

Hình 6.2 Bớc cuối cùng của thuật toán biến đổi FFT phân chia miền thời gian X(k)

ký hiệu vector chứa giá trị đợc tính qua phép biến đổi FFT

2 16 4

20

k

nk k

n

W k f n

F

(n) F W (n) F (n)

(n) F W - (n) F 4) (n

Tơng tự

F11(n) = F22(n) + W16 -2nF23(n) (6.25)

(n) F W - (n) F 4)

(n

F

16 22

0123456701234567

0123456789101112131415

F10(n)

F(n)

F11(n)

X(k)X(k)

Trang 9

22( ) ( )

k

nk

W k f n

k

nk

W k f n

(n) F W - (n) F 2) (n

(n) F W - (n) F 2) (n

(n) F W (n) F (n)

(n) F W - (n) F 2) (n

F23(n) = F36(n) + W16 -4nF37(n) (6.35)

(n) F W - (n) F 2) (n

Trang 10

Hình 6.3 Bớc thứ hai sau bớc cuối cùng trong thuật toán FFT.

Hình 6.4 Bớc đầu tiên của lu đồ FFT.

F22(n)

0

F23(n)

426

000000

00

010101010101010101

Trang 11

Hình 6.5 giới thiệu sơ đồ thuật toán FFT cho N = 16 Chú ý rằng do yêu cầu ban đầu của chơng trình mà d y vào đã ợc sắp xếp lại và chứa ở X(k), ví dụ

X(k) = x(q) k = 0 đến 15

Bạn sẽ chú ý trên sơ đồ rằng q là giá trị bit của k

Cho N = 24 = 16 chúng ta phải có bốn bớc trong lu đồ Trong mỗi bớc cần phải có tám bớm Trong mỗi bớm chỉ có một phép nhân phức, hai phép cộng hoặc trừ phức Tổng số phép nhân phức là 8/2 4 Tổng quát cho N = 2r số phép nhân phức là (N/2) r = (N/2 ) log2 N và số phép

cộng là Nlog2 N Chú ý, thực tế số phép nhân sẽ giảm xuống một ít, vì trong bớc đầu tiên hệ số

xoay W0 = 1 và trong các bớc còn lại chúng ta cũng có các bớm với hệ số xoay = 1

Xem xét trờng hợp N = 1024 = 210 Số phép nhân cần dùng cho FFT là (N/2).10 = 1024 ì 5

= 5120 so với 1 triệu phép nhân cho tính trực tiếp biến đổi DFT, đây là phơng pháp tiết kiệm thực sự cho tính toán

Bây giờ, chúng ta sẽ vạch ra thuật toán FFT Đó không đơn thuần chỉ là sự phát triển một chơng trình từ lu đồ Tuy nhiên, chúng ta có thể nghiên cứu lu đồ và vạch ra các bớc có thể dùng để phát triển một chơng trình Từ lu đồ của hình 6.5 chúng ta có thể viết:

Bớc thứ nhất Trong bớc này ta có tám bớm với trọng lợng (hệ số xoay) W0 = 1 Chúng ta có thể viết (xem hình 6.6)

Trang 12

0 2 4 6

0 2 4 6

0 4

0 4

0 4

0 4

0 4 8 12 2 6 12 14 1 5 9 13 3 7 11 15

0 2 4 6 8 10 12 14 1 3 5 7 9 11 13 15

0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15

0000 0001 0010 0011 0100 0101 0110 0111 1000 1001 1010 1011 1100 1101 1110 1111

Trang 13

10 k f

) (

11 k f

(b)

Trang 14

8 Một bớm với trọng lợng bằ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 chúng ta đến thuật toán với N = 16

Thuật toán

ip=1

kk=8

incr=2

cho iter=0 đến 3 trong các bớc của 1

{

cho j=0 đến 15 trong các bớc của incr

{

i = j + ip T = X(j) X(i) = X(j) - T X(j) = X(j) +T nếu (iter không bằng 0) thì {

cho k=1 đến ip-1 trong các bớc của 1 {

r = k*kk - 1 cho j=k đến 15 trong các bớc của 15 {

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 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 Nếu dữ liệu đợc đọc từ một file thì tất cả các việc mà chúng ta phải làm là chuyển địa chỉ vùng của chúng trong file qua bảng LUT và lu các dữ liệu này trong địa chỉ chứa kết quả trong d y đầu vào, X.ã Bớc này có thể chuyển sang ngôn ngữ C nh sau: for (i=0; i<N; i++) fscanf (fptr, “ %f ”, &X[L[i]]);

Trang 15

Kết quả của LUT đợc chuyển thẳng và đợc cung cấp với chơng trình của thuật toán tính FFT trong Listing 6.1 dới dạng modun con dới tên “ bit_reversal( )”.

Chơng trình 6.1 “FFTDT.C” FFT 1-D Thập phân trong miền thời gian.

/* FFT - Decimation-in-time routine with examplemain

programing proper usage */

void bit_reversal(unsigned int *, int , int);

void WTS(float *, float *, int, int);

void FFT(float *xr, float *xi, float *, float *,

Trang 16

/* Allocating memory for bit reversal LUT */

L=(unsigned int *)malloc(N*sizeof(unsigned int));

/* Generate Look-up table for bit reversal */

void bit_reversal(unsigned int *L, int m, int N)

/* Routine for generating LUT for bit reversal

Note: N=(2 to the power of m)

LUT will reside in LI]*/

Trang 17

void WTS(float *wr, float *wi, int N, int sign)

/* Generating LUT for twiddle factors

Note:

sign=-1 for FFT, and

sign=1 for IFFT */

You will need to use routine "bitreversal" for that purpose

3 The twiddle factors are assumed to be stored in LUT's wr[I and wi[j You will

need to use routine LUT for calculating and storing twiddle factors.*/int ip,k,kk,l,incr,iter,j,i;

Trang 18

Bài tập 6.2 Kiểm tra chơng trình FFT bằng cách làm lại chơng trình 6.1 Chú ý rằng trong

trờng hợp này bạn phải thêm các giá trị 0 để làm cho các d y có chiều dài 2ã 4 = 16 và tất nhiên

là lớn hơn chiều dài d y nhỏ nhất đòi hỏi là (6 + 5 - 1) Mối tã ơng quan của hai d y cho kết quảãtrong một tín hiệu tuần hoàn có chu kỳ bằng 16

6.3.2 Thuật toán phân chia tần số.

Thay vì chia d y vào thành các vị trí chẵn và lẻ, chúng ta sẽ đã a ra một chơng trình giống

nh chơng trình trên nhng lần này ta bắt đầu từ d y ra Chã ơng trình này bao gồm các bớc sau:

Trang 19

kn N N

k

nN

N

N k

kn N N

k

kn N

W

N k f W k f

W k f W

k f n

2 /

1 2 /

1 2 / 0

) 2 ( )

(

) ( )

( )

( [ )

2

0

kn N N

n N

k

W

N k f W

k f n

=

+ +

( [ )

1 2

0

+

− +

=

+ +

=

N N

n N

k

W

N k f W

k f n

) 1 2 ( 2 / ).

1 2

2

0

kn N N

k

W

N k f k f n

=

+ +

] )

2 ( ) ( [ )

1 2

0

kn N

k N N

k

W W

N k f k f n

W k f n

Trang 20

.) ( )

1 2

0

N k

W k f n

=

= +

(6.40)

Các biểu thức (6.39) và (6.40) có thể biểu diễn bằng dới dạng biểu đồ bớm nh trong hình 6.6.Chúng ta có thể tiếp tục chia nhỏ các tổng cho trong các biểu thức (6.39) và (6.40), tiếp tục làm nh vậy cho tới khi mỗi tổng giảm xuống chỉ còn lại một phần tử Giải thuật này giống nh giải thuật thuật toán phân chia thời gian và để lại cho bạn nh một bài tập cho bạn Một lu đồ cho FFT phân chia tần số với N = 4 trình bày trong hình 6.7 Bạn cần chú ý đến bậc của dữ liệu đầu ra là bit đợc đảo Phần mềm thực hiện thuật toán trên thì rất giống phần mềm thực hiện FFT phân chia miền thời gian, và một chơng trình C đợc cung cấp ở Chơng trình 6.2

Có lẽ bạn sẽ tự hỏi: nếu phân chia miền thời gian đ thực hiện đã ợc công việc thì tại sao lại phải xem xét thêm FFT phân chia tần số Để trả lời câu hỏi này, chúng ta sẽ cần xem xét phần

void bit_reversal (unsigned int *, int, int);

void WTS(float *, float *, int, int) ;

void FFT(float *xr, float *xi , float, float, int, int);

2 The output arrays are left in bit-reverse

order You will need to use routine "bit-reversal" to place them in normal ascending order

3 The twiddle factors are assumed to be stored in LUT's wr[j and wiEj You will need to use routine LUT for calculating and storing twiddle factors */

int ip,k,kk,l,incr,iter,j,i;

float Tr,Ti,diffr,diffi;

Trang 21

0 2 4 6

0 2 4 6

0 4

0 4

0 4

0 4

0 0 0 0 0 0 0

0

0 8 4 12 2 10 6 14 1 9 5 13 3 11 7 15

0 8 4 12 2 10 6 14 1 9 5 13 3 11 7 15

0 4 8 12 2 6 12 14 1 5 9 13 3 7 11 15

0 2 4 6 8 10 12 14 1 3 5 7 9 11 13 15

Trang 22

Thuật toán giảm lợc đầu vào FFT Trờng hợp này sẽ làm hoàn thiện hơn thuật toán

phân chia tần số Hình 6.8 giới thiệu trờng hợp M = 1 và L = 4 Từ hình 6.8 chúng ta nhận thấy (L-M) bớc đầu tiên có các phần tử bớm và L bớc cuối cùng có toàn bộ các bớm Sơ đồ này giúp chúng ta thay đổi chơng trình 6.2 thành chơng trình 6.3

Chơng trình 6.3 "FFTIP.C" Giảm lợc đầu vào FFT

/* FFT - input pruning routine */

void bit_reversal(unsigned int *, int , int);

void WTS(float *, float *, int, int);

void FFTP(float *xr, float *xi, float *, float *, int,int,int, int);void FFTP(float *xr, float *xi, float *wr, float *wi,

int m_output, int N_output,

int m_input, int N_input )

{

Trang 23

/* FFT pruning algorithm

Deimation-in-frequency algorithm

Note:

1 Noutput=2 to the power of m_output

N_output=Number of samples in the output sequence

M_input=Number of samples in the input sequence This should also

be a multiple of 2

2 The output arrays are left in bit-reverse order

You will need to use routine "bit-reversal" to place them in normal ascending order

3 The twiddle factors are assumed to be stored in LUT's wr[I and wi[I You will need to use routine LUT for calculating and storing twiddle factors */

int ip,k,kk,l,inc r,iter,j,i;

0481226101415913371115

0841221061419513311715

0841221061419513311715

Trang 24

Hình 6.8 Lu đồ thuật toán giảm lợc đầu vào, N=4

Trang 25

Tính 1024 điểm trong phổ tần số dùng chơng trình giảm lợc đầu vào FFT.

2 Thêm các giá trị 0 vào d y để làm cho chiều dài d y thành 1024 Bây giờ tính FFT scủaã ã

d y dùng chã ơng trình FFT phân chia tần số không giảm lợc So sánh thời gian xử lý của phần 1 và 2

Thuật toán FFT giảm lợc đầu ra Giải thuật phân chia miền thời gian thì thích hợp

cho thuật toán giảm lợc đầu ra hơn là giải thuật phân chia miền tần số Lý do là đầu ra trong giải thuật phân chia miền thời gian không phải sắp xếp lại Hình 6.9 giới thiệu trờng hợp với

M=4 và L=1.

Hình 6.9 Lu đồ cho giảm lợc đầu ra FFT, N = 4.

Chơng trình 6.4 “FFTOP.C” Giảm lợc đầu ra FFT.

0481226101415913371115

0841221061419513311715

Wn=0 đến 3

Wn=0 đến 1W

n=0

Trang 26

/* FFT - output pruning using Decimation-in-time routine */

# define pi 3.141592654

void bit_reversal(unsigned int *, int , int);

void WTS(float *, float *, int, int);

void FFTP(float *xr, float *xi, float *, float *,int, int, int, int);void FFTP(float *xr, float *xi, float *wr, float *wi,

int m, int N, int m_output, int N_output){

/* FFT output pruning algorithm using

Decimation-in-time

Note :

1 N=number of input samples

=2 to the power m

N-output = number of output samples =2 to the power motput

2 The input arrays are assumed to be rearranged in bit-reverse order

You will need to use routine "bit-reversal" for that purpose

3 The twiddle factors are assumed to be stored in LUT's wr[] and wi[] You will need to use routine LUT for calculating and storing twiddle factors.*/

Ngày đăng: 14/11/2012, 14:45

HÌNH ẢNH LIÊN QUAN

Hình 6.1 (a) Bớm; (b) Biểu diễn rút gọn. -  Xử lý ảnh - Chương 8
Hình 6.1 (a) Bớm; (b) Biểu diễn rút gọn (Trang 7)
Hình 6.2 Bớc cuối cùng của  thuật toán biến đổi FFT phân chia miền thời gian.               X(k) -  Xử lý ảnh - Chương 8
Hình 6.2 Bớc cuối cùng của thuật toán biến đổi FFT phân chia miền thời gian. X(k) (Trang 8)
Hình 6.3 Bớc thứ hai sau bớc cuối cùng trong thuật toán FFT. -  Xử lý ảnh - Chương 8
Hình 6.3 Bớc thứ hai sau bớc cuối cùng trong thuật toán FFT (Trang 10)
Hình 6.4 Bớc đầu tiên của lu đồ FFT. -  Xử lý ảnh - Chương 8
Hình 6.4 Bớc đầu tiên của lu đồ FFT (Trang 10)
Hình 6.5 Lu đồ thuật toán thuật toán phân chia miền thời gian. -  Xử lý ảnh - Chương 8
Hình 6.5 Lu đồ thuật toán thuật toán phân chia miền thời gian (Trang 12)
Hình 6.6 (a) Bớm cho thuật toán phân chia miền tần số;(b) Một bớm đơn giản. -  Xử lý ảnh - Chương 8
Hình 6.6 (a) Bớm cho thuật toán phân chia miền tần số;(b) Một bớm đơn giản (Trang 13)
Hình 6.8 Lu đồ thuật toán giảm lợc đầu vào, N=4 -  Xử lý ảnh - Chương 8
Hình 6.8 Lu đồ thuật toán giảm lợc đầu vào, N=4 (Trang 24)
Hình 6.9 Lu đồ cho giảm lợc đầu ra FFT, N = 4. -  Xử lý ảnh - Chương 8
Hình 6.9 Lu đồ cho giảm lợc đầu ra FFT, N = 4 (Trang 25)
Hình 6.10 Thuật toán của Eklundh cho dịch chuyển một ma trận. -  Xử lý ảnh - Chương 8
Hình 6.10 Thuật toán của Eklundh cho dịch chuyển một ma trận (Trang 35)
Hình 6.11 ảnh đ  đ ã ợc dịch chuyển, &#34;MOHSEN.IMG&#34;. -  Xử lý ảnh - Chương 8
Hình 6.11 ảnh đ đ ã ợc dịch chuyển, &#34;MOHSEN.IMG&#34; (Trang 38)
Hình 6.12 ảnh dịch chuyển của “MOHSEN.IMG”. -  Xử lý ảnh - Chương 8
Hình 6.12 ảnh dịch chuyển của “MOHSEN.IMG” (Trang 39)
Hình 6.13 Phổ của &#34;IKRAM.IMG&#34; -  Xử lý ảnh - Chương 8
Hình 6.13 Phổ của &#34;IKRAM.IMG&#34; (Trang 46)

TỪ KHÓA LIÊN QUAN

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

TÀI LIỆU LIÊN QUAN

w