47
TRƯNG ĐI HC BCH KHOA H NI VIỆN CÔNG NGHỆ THÔNG TIN V TRUYỀN THÔNG BO CO BI TẬP LỚN Môn học: Xử lý ảnh ĐỀ TÀI: Tìm hiểu về các phép lọc số, khảo sát và xây dựng thử nghiệm các ứng dụng của phép lọc trên miền tần số với xử lý ảnh màu. Giáo viên hướng dẫn: PGS.TS. Nguyễn Thị Hoàng Lan Sinh viên thực hiện: Nguyễn Khánh Hưng 20081279 TTM-K53 Nguyễn Lê Hoài Nam 20081819 TTM-K53 Phan Văn Trường 20082846 TTM-K53 H Ni 4/2012

Tìm hiểu về các phép lọc số, khảo sát và xây dựng thử nghiệm các ứng dụng của phép lọc trên miền tần số với xử lý ảnh màu

Embed Size (px)

DESCRIPTION

TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI VIỆN CÔNG NGHỆ THÔNG TIN VÀ TRUYỀN THÔNGBÁO CÁO BÀI TẬP LỚNMôn học: Xử lý ảnhĐỀ TÀI:Tìm hiểu về các phép lọc số, khảo sát và xây dựng thử nghiệm các ứng dụng của phép lọc trên miền tần số với xử lý ảnh màu.Giáo viên hướng dẫn: PGS.TS. Nguyễn Thị Hoàng Lan Sinh viên thực hiện:Nguyễn Khánh Hưng Nguyễn Lê Hoài Nam Phan Văn Trường20081279 TTM-K53 20081819 TTM-K53 20082846 TTM-K53Hà Nội 4/2012LỜI GIỚI THIỆU ..................................

Citation preview

Page 1: Tìm hiểu về các phép lọc số, khảo sát và xây dựng thử nghiệm các ứng dụng của phép lọc trên miền tần số với xử lý ảnh màu

TRƯƠNG ĐAI HOC BACH KHOA HA NÔI

VIỆN CÔNG NGHỆ THÔNG TIN VA TRUYỀN THÔNG

BAO CAO BAI TẬP LỚN

Môn học: Xử lý ảnh

ĐỀ TÀI:

Tìm hiểu về các phép lọc số, khảo sát và xây dựng thử nghiệm

các ứng dụng của phép lọc trên miền tần số với xử lý ảnh màu.

Giáo viên hướng dẫn: PGS.TS. Nguyễn Thị Hoàng Lan

Sinh viên thực hiện:

Nguyễn Khánh Hưng 20081279 TTM-K53

Nguyễn Lê Hoài Nam 20081819 TTM-K53

Phan Văn Trường 20082846 TTM-K53

Ha Nôi 4/2012

Page 2: Tìm hiểu về các phép lọc số, khảo sát và xây dựng thử nghiệm các ứng dụng của phép lọc trên miền tần số với xử lý ảnh màu

2 [email protected]

LƠI GIỚI THIỆU ........................................................................................... 4

I. KHÁI QUÁT VỀ ẢNH, ẢNH SỐ .......................................................... 5

II. TÌM HIỂU VỀ CÁC PHÉP LOC SỐ .................................................... 7

1. Khái quát về phép lọc ảnh ..................................................................... 7

2. Các bộ lọc số ........................................................................................... 7

2.1. Định nghĩa và mô hình ................................................................. 7

2.2. Phân loại bộ lọc ............................................................................. 8

2.3. Các bộ lọc thông dụng .................................................................. 9

2.3.1. Bộ lọc trung bình .................................................................... 9

2.3.2. Lọc thông thấp ...................................................................... 10

2.3.3. Lọc đồng hình (Homomorphic Filtering) .......................... 11

III. KHẢO SÁT VÀ XÂY DỰNG THỬ NGHIỆM CÁC ỨNG DỤNG

CỦA PHÉP LOC TRÊN MIỀN TẦN SỐ. .................................................. 12

1. Cơ sở lý thuyết ...................................................................................... 12

1.1. Hạn chế của xử lý ảnh trên miền không gian .......................... 12

1.2. Phép biến đổi Fourier và miền tần số ....................................... 13

1.3. Phép biến đổi Fourier rời rạc - DFT ........................................ 14

1.4. Biến đổi Fast Fourier (FFT) ...................................................... 25

2. Ứng dụng của phép lọc trên miền tần số ........................................... 31

2.1. Làm trơn ảnh .............................................................................. 32

2.1.1. Lọc tần số thấp Ideal ............................................................ 32

2.1.2. Lọc tần số thấp Butterworth ............................................... 34

2.1.3. Lọc tần số thấp Gauss .......................................................... 35

Page 3: Tìm hiểu về các phép lọc số, khảo sát và xây dựng thử nghiệm các ứng dụng của phép lọc trên miền tần số với xử lý ảnh màu

3 [email protected]

2.2. Làm sắc ảnh ................................................................................ 35

2.2.1. Lọc tần số cao Ideal .............................................................. 36

2.2.2. Lọc tần số cao Butterworth ................................................. 36

2.2.3. Bộ lọc tần số cao Gauss ........................................................ 37

3. Xây dựng thử nghiệm các ứng dụng của phép lọc trên miền tần số

37

3.1. Giao diện ..................................................................................... 37

3.2. Cài đặt ......................................................................................... 38

3.3. Chức năng và sử dụng................................................................ 39

3.4. Thử nghiệm ứng dụng ................................................................ 40

IV. KẾT LUẬN ........................................................................................ 45

PHÂN CHIA CÔNG VIỆC .......................................................................... 46

TÀI LIỆU THAM KHẢO ............................................................................ 47

Page 4: Tìm hiểu về các phép lọc số, khảo sát và xây dựng thử nghiệm các ứng dụng của phép lọc trên miền tần số với xử lý ảnh màu

4 [email protected]

LƠI GIỚI THIỆU

Xử lý ảnh là một lĩnh vực mang tính khoa học và công nghệ. Nó là một ngành khoa

học mới mẻ so với nhiều ngành khoa học khác nhưng tốc độ phát triển của nó rất

nhanh, kích thích các trung tâm nghiên cứu, ứng dụng, đặc biệt là máy tính chuyên

dụng riêng cho nó. Xử lý ảnh là một quá trình liên tục. Đầu tiên là thu nhận ảnh từ

camera, vệ tinh hay các bộ cảm ứng,…Tiếp theo tín hiệu lấy vào sẽ được số hóa

thành tín hiệu số và chuyển qua giai đoạn xử lý, phân tích hay lưu trữ lại. Việc xử lý

ảnh chính là tăng cường ảnh, tức là làm cho ảnh trở nên đẹp hơn, tốt hơn và rõ hơn.

Có nhiều phương pháp cải thiện chất lượng ảnh nhưng ở đây chúng tôi chủ yếu tập

trung nghiên cứu về các phương pháp lọc ảnh. Tuy đã cố gắng hết sức nhưng bài

viết chắc chắn không thể tránh khỏi những sai sót. Vì vậy rất mong cô góp ý bổ

sung giúp chúng tôi hoàn thiện đề tài.

Nhóm sinh viên:

Nguyễn Khánh Hưng

Nguyễn Lê Hoai Nam

Phan Văn Trường

Page 5: Tìm hiểu về các phép lọc số, khảo sát và xây dựng thử nghiệm các ứng dụng của phép lọc trên miền tần số với xử lý ảnh màu

5 [email protected]

I. KHÁI QUÁT VỀ ẢNH, ẢNH SỐ

Ảnh có thể được hiểu là thông tin (về đường nét, hình khối, màu sắc…) của

vật thể hay quang cảnh được chiếu sáng mà con người cảm nhận và quan sát được

bằng mắt và hệ thống thần kinh thị giác..

Đối tượng chính của xử lý ảnh chính là ảnh chụp tự nhiên. Quá trình xử lý ảnh

được hiểu là xử lý nội dung thông qua dữ liệu ảnh, qua đó nâng cao chất lượng ảnh

hiển thị hay đạt được một yêu cầu cảm quan nào đó.

Ảnh thông thường được hiểu là dữ liệu trên một mặt phẳng ảnh, ta còn gọi là

ảnh đơn (Image), hay ảnh tĩnh. Ngoài ảnh đơn, ta còn gặp dạng chuỗi các ảnh được

chụp liên tiếp nhau thông qua mối quan hệ về thời gian, ảnh đó gọi là chuỗi ảnh,

(hay ảnh động, phim). Ở đây ta chỉ quan tâm đến đối tượng là ảnh đơn. Ảnh đơn

biểu diễn dữ liệu ảnh thông qua (các) hàm độ chói của các biến tọa độ trong mặt

phẳng ảnh: I(x,y)

Đối với ảnh đơn màu, hay ảnh đa mức xám, dữ liệu ảnh được biểu diễn dưới

dạng một hàm độ chói I(x,y). Với các giá trị I(x,y), x, y là các số thực, và ta có 0 ≤

I(x,y) ≤ LMAX. Với ảnh màu, dữ liệu ảnh được biểu diễn thông qua 3 hàm độ chói

của 3 màu cơ bản R (đỏ), G (xanh lá), B (xanh lam): IR(x,y), IG(x,y) , IB(x,y).

Ảnh số là một dạng biểu diễn, lưu trữ và thể hiện ảnh tĩnh. Ảnh số thực chất là

ảnh chụp (mặt phẳng ảnh gồm vô số điểm với vô số các giá trị màu khác nhau)

thông qua quá trình lấy mẫu (rời rạc hóa về không gian) và lượng tử hóa (rời rạc

hóa về mặt giá trị dữ liệu). Ảnh số được biểu diễn dưới dạng một ma trận điểm ảnh

I[m,n] (m ϵ [0..M], n ϵ [0..N]) , mỗi phần tử của ma trận đó gọi là một điểm ảnh –

pixel. Trong đó giá trị của mỗi điểm ảnh lại phụ thuộc vào từng loại ảnh:

Ảnh nhị phân: một điểm ảnh chỉ nhận 2 mức giá trị nên cần 1 bit lưu trữ.

Ảnh đa mức xám: giá trị điểm ảnh được chia thành 256 mức [0..255] nên ta

cần 8 bits/pixel.

Với ảnh màu: tùy thuộc vào số lượng màu, chất lượng màu mà ta cần 8, 16, 24

bits/pixel. Với hệ màu cơ bản RGB ta cần 3*8 = 24 bits/pixel.

Đến đây việc xử lý ảnh trở thành việc xử lý các phần tử của ma trận điểm ảnh.

Page 6: Tìm hiểu về các phép lọc số, khảo sát và xây dựng thử nghiệm các ứng dụng của phép lọc trên miền tần số với xử lý ảnh màu

6 [email protected]

Một bức ảnh số được biểu diễn bởi một ma trận điểm ảnh I[m,n], trong đó một

điểm ảnh được đặc trưng bởi tọa độ [m, n] và giá trị màu I. Như vậy, các phép xử lý

ảnh có thể tác động vào tọa độ của các điểm ảnh, làm thay đổi vị trí của các điểm

ảnh, hình khối trong ảnh, ta gọi đó là các phép xử lý về hình học. Bên cạnh tác động

vào tọa độ của các điểm ảnh, các phép xử lý ảnh cũng có tác động đến giá trị màu I

của các điểm ảnh, ta gọi đó là các phép xử lý về nội dung. Nhìn chung các phép xử

lý hình học không làm thay đổi nội dung của ảnh và được ứng dụng phổ biến trong

quá trình hiển thị hình ảnh. Các phép xử lý về nội dung tác động làm thay đổi các

thành phần về mặt giá trị màu của điểm ảnh, từ đó mang lại những hiệu quả về cảm

nhận khác nhau.

Các phép xử lý về nội dung được

biêu diễn thông qua mô hình như sau:

X[m, n] là ma trận điểm ảnh ban

đầu, sau quá trình xử lý dữ liệu F, ta

nhận được ma trận điểm ảnh Y[m, n]. Tùy thuộc vào F mà ta có ma trận kết quả

Y[m, n] khác nhau.

Việc xử lý ảnh màu cũng như xử lý ảnh đa mức xám. Với ảnh màu chúng ta

xử riêng 3 màu cơ bản R (đỏ), G (xanh lá), B (xanh lam): IR(x,y), IG(x,y) , IB(x,y).

Xử lý dữ liệu

ảnh (F)

X[m,n] Y[m,n]

Page 7: Tìm hiểu về các phép lọc số, khảo sát và xây dựng thử nghiệm các ứng dụng của phép lọc trên miền tần số với xử lý ảnh màu

7 [email protected]

II. TÌM HIỂU VỀ CAC PHÉP LOC SỐ

1. Khái quát về phép lọc ảnh

Phép lọc ảnh được sử dụng nhiều trong xử lý ảnh, được dùng trong giảm

nhiễu, làm nét ảnh, cũng như trong phát hiện cạnh, biên ảnh. Các phép lọc ảnh chủ

yếu được sử dụng để ngăn chặn các tần số cao trong hình ảnh, như làm mịn ảnh hay

tần số thấp như phát hiện cạnh trong hình ảnh. Các bộ lọc có thể chia làm 2 loại

theo phép toán : lọc tuyến tính và lọc phi tuyến. Phép lọc tuyến tính là các phép lọc

có bản chất là lọc tần số như lọc trung bình, lọc thông thấp, lọc thông cao, lọc đạo

hàm. Ngược lại các phép lọc phi tuyến bao gồm lọc trung vị, lọc đồng hình, lọc với

k láng giềng gần nhất, lọc hạng r ….

Các phép lọc ảnh đều sử dụng cách xử lý cục bộ, tức là điểm ảnh đầu ra chỉ

chịu ảnh hưởng của 1 số điểm ảnh lân cận theo kĩ thuật mặt nạ. Người ta cũng sử

dụng phép nhân chập rời rạc để thực hiện bộ lọc.

Lọc không gian thông thường được thực hiện để khử nhiễu hoặc thực hiện một

số kiểu nâng cao ảnh.

2. Các bộ lọc số

2.1. Định nghĩa và mô hình

Một hình ảnh có thể được lọc trong miền tần số hoặc trong miền không gian.

Trong kĩ thuật lọc miền không gian ta sử dụng một mặt nạ, tổ hợp điểm ảnh từ ảnh

hưởng của các điểm lân cận. Trong miền không gian ta sẽ dùng phép nhân chập tín

hiệu ảnh đầu vào với bộ lọc số :

Y(m, n) = H(k, l) * X(m, n) Với K * L << M * L

Ma trận lọc H:

Hình 1: Ma trận lọc 3* 3

Page 8: Tìm hiểu về các phép lọc số, khảo sát và xây dựng thử nghiệm các ứng dụng của phép lọc trên miền tần số với xử lý ảnh màu

8 [email protected]

Ma trận bộ lọc còn được gọi là ma trận hạt nhân. Các ma trận hạt nhân có thể

có nhiều kích thước tùy ý, phổ biến nhất là ma trận 3*3 (hình 1), ngoài ra trong các

trường hợp cụ thể có thể sử dụng các bộ lọc 5*5 hay 7*7. Bộ lọc trong miền không

gian với ma trận hạt nhân khá trực quan và dễ thực hiện. Nó phù hợp với cảm quan

của chúng ta. Tuy nhiên cũng chính vì khá đơn giản nên nó không có được sự tinh

tế. Mặt nạ thường có các giá trị dương và đối xứng, nhưng không nhất thiết phải

như vậy. Nó có thể được chọn theo một phương pháp nào đó mà không thể trực

quan và một trong các phương pháp đó là lọc trên miền tần số .

Phương pháp lọc trên miền tần số đơn giản là thực hiện các phép biến đổi

ảnh trên miền tần số. Các tín hiệu đầu vào, đầu ra của ảnh, các bộ lọc đều được biến

về miền tần số.

Y(u, v) = X(u, v) * H(u, v)

Với Y(u, v) = DFT(Y(m, n));

X(u, v) * H(u, v) = DFT (X(m,n ) * H(k,l))

Bộ lọc trên miền tần số có 2 loại là bộ lọc thông thấp và thông cao. Bộ lọc

thông thấp thường được sử dụng để làm mờ ảnh, giảm nhiễu, bộ lọc thông cao thì

được sử dụng để làm sắc nét cạnh, biên làm cho ảnh rõ nét hơn. Thực ra bản chất

của phép lọc số đều sử dụng lọc tần số, chỉ là thực hiện trên miền không gian hay

miền tần số mà thôi.

2.2. Phân loại bộ lọc

Gồm có 2 loại:

- Bộ lọc đáp ứng xung hữu hạn (FIR)

Page 9: Tìm hiểu về các phép lọc số, khảo sát và xây dựng thử nghiệm các ứng dụng của phép lọc trên miền tần số với xử lý ảnh màu

9 [email protected]

- Bộ lọc đáp ứng xung vô hạn (IIR)

2.3. Các bộ lọc thông dụng

2.3.1. Bộ lọc trung bình

Các bộ lọc trung bình thường được sử dụng để giảm nhiễu trong một hình ảnh.

Tuy nhiên, nó giải quyết được vấn đề tốt hơn.

Nguyên lý:

Mỗi điểm ảnh được thay thế bằng trung bình trọng số của các điểm lân cận:

Với a(k, l) = 1/Nw, trong số Nw là số điểm trong cửa sổ. Giá trị mới của điểm

ảnh được thay bằng trung bình cộng các điểm rơi vào cửa sổ W

Nếu điểm ảnh được thay thế bằng trung bình cộng của điểm đó với trung bình

cộng của 4 điểm lân cận kề, ta có:

Page 10: Tìm hiểu về các phép lọc số, khảo sát và xây dựng thử nghiệm các ứng dụng của phép lọc trên miền tần số với xử lý ảnh màu

10 [email protected]

Hình 2:Ma trận đầu vao

Trên hình 2, giá trị pixel trung tâm không đại diện cho các điểm xung quanh

nó, vì vậy ta sẽ thay thế bằng giá trị trung bình của các điểm lân cận:

Điểm lân cận: 124, 126, 127, 125, 123, 119, 115, 120, 150

Giá trị trung bình: 124 +126+127+125+123 + 119 +115 +120+150

9 = 125

Như vậy giá trị 150 sẽ được thay thế bởi giá trị trung bình 125. Ở đây sử dụng

cửa sổ 3 x 3. Nếu dùng cửa sổ lớn hơn sẽ tạo ảnh có độ mịn hơn.

2.3.2. Lọc thông thấp

Lọc thông thấp thường được sử dụng để làm trơn nhiễu.

Với kỹ thuật lọc trên miền không gian người ta hay dùng một số mặt nạ lọc có

dạng sau:

Ta dễ dàng nhận thấy khi b = 1, Hb chính là mặt nạ lọc Ht1 (lọc trung bình).

Để hiểu rõ hơn bản chất khử nhiễu cộng của bộ lọc này, ta viết lại phương trình thu

nhận ảnh dưới dạng:

Page 11: Tìm hiểu về các phép lọc số, khảo sát và xây dựng thử nghiệm các ứng dụng của phép lọc trên miền tần số với xử lý ảnh màu

11 [email protected]

Trong đó η[m, n] là nhiễu cộng có phương sai σ2n. Như vậy, theo cách tính của

lọc trung bình ta có:

Như vậy nhiễu cộng trong ảnh đã giảm đi Nw lần.

2.3.3. Lọc đồng hình (Homomorphic Filtering)

Kỹ thuật lọc này hiệu quả với ảnh có nhiễu nhân. Thực tế, ảnh quan sát được

gồm ảnh gốc nhân với một hệ số nhiễu. Gọi X*(m, n) là ảnh thu được, X(m, n) là

ảnh gốc và η(m, n) là nhiễu, như vậy:

X(m, n) = X*(m,n) * η(m, n)

Lọc đồng hình thực hiện lấy logarit của ảnh quan sát. Do vậy ta có kết quả

sau: log(X(m, n)) = log(X*(m,n)) + log(η(m, n))

Rõ ràng, nhiễu nhân có trong ảnh sẽ bị giảm. Sau quá trình lọc tuyến tính, ta

chuyển về ảnh cũ bằng phép biến đổi hàm e mũ.

2.3.4. Lọc thông cao

Lọc thông cao dùng làm nổi bật các chi tết có tần số thấp. Các phần tử có tần

số không gian cao sẽ sáng hơn, còn các phần tử có tần số không gian thấp sẽ đen.

Kỹ thuật lọc thông cao cũng được thực hiện nhờ thao tác nhân chập. Các mặt nạ hay

được dùng như:

Page 12: Tìm hiểu về các phép lọc số, khảo sát và xây dựng thử nghiệm các ứng dụng của phép lọc trên miền tần số với xử lý ảnh màu

12 [email protected]

III. KHẢO SAT VA XÂY DỰNG THỬ NGHIỆM CAC ỨNG DỤNG CỦA

PHÉP LOC TRÊN MIỀN TẦN SỐ.

1. Cơ sở lý thuyết

1.1. Hạn chế của xử lý ảnh trên miền không gian

Phần trên chúng ta đã nêu những ứng dụng của phương pháp lọc trên miền

không gian. Biện pháp xử lý ảnh trên miền không gian là khá trực quan.Trên miền

không gian, độ xám tại một pixel trong ảnh mới bằng một biểu thức tuyến tính giữa

độ xám của các pixel kế cận trong ảnh cũ. Như vậy, để làm các chi tiết trên ảnh trơn

hơn, ta có thể tính độ xám tại pixel (x,y) trên ảnh mới bằng trung bình cộng độ xám

của chính nó và 8 pixel lân cận trong ảnh cũ.

𝑔(𝑥, 𝑦) =1

9∑ 𝑓(𝑥 + 𝑖, 𝑦 + 𝑖)1𝑖,𝑗=−1 (1.1)

Nếu muốn làm các chi tiết trên ảnh nối bật hơn, ta có thể tính độ xám tại pixel

(x, y) trên ảnh mới bằng một trung bình có trọng số độ xám của chính nó và 8 pixel

lân cận trong ảnh cũ, trong đó trọng số ứng với f(x,y) là lớn nhất, chẳng hạn:

𝑔(𝑥, 𝑦) =1

10(𝑓(𝑥 − 1, 𝑦 − 1) + 𝑓(𝑥, 𝑦 − 1) + 𝑓(𝑥 + 1, 𝑦 − 1) + 𝑓(𝑥 − 1, 𝑦) +

2𝑓(𝑥, 𝑦) + 𝑓(𝑥 + 1, 𝑦) + 𝑓(𝑥 − 1, 𝑦 + 1) + 𝑓(𝑥, 𝑦 + 1) + 𝑓(𝑥 + 1, 𝑦 + 1))

(1.2)

Nói tóm lại, xử lý ảnh trên miền không gian là một phương pháp rất trực

quan, phù hợp với cảm giác tự nhiên của chúng ta: nhìn vào các biểu thức (1.1) và

(1.2), ta cũng hình dung được phần nào về ảnh kết quả.

Tuy nhiên, cũng chính do tính đơn giản như trên mà phương pháp xử lý ảnh

trên mà phương pháp xử lý trên miền không gian là không được tinh tế. Chẳng hạn

hệ số của mặt nạ (filter mask) thường được chọn là dương.

Dĩ nhiên, trong một số trường hợp, mặt nạ có thể chứa các hệ số âm. Một thí

dụ khác là các mặt nạ thường là ma trận đối xứng. Hiển nhiên ta thấy rằng mặt nạ

không nhất thiết phải là ma trận đối xứng. Hơn nữa, các hệ số của mặt nạ cũng

không nhất thiết nguyên hay hữu tỷ. Đối với các trường hợp như vậy, các hệ số phải

được chọn bằng một phương pháp nào đó, chứ không còn bằng trực quan như trước

đây.

Page 13: Tìm hiểu về các phép lọc số, khảo sát và xây dựng thử nghiệm các ứng dụng của phép lọc trên miền tần số với xử lý ảnh màu

13 [email protected]

Phương pháp xử lý ảnh trên miền tần số là một trong số đó. Sự can thiệp sâu

sắc của toán học cho ta những đối tượng, những đại lượng ẩn dưới lớp vỏ trực quan

của ảnh. Do đó, nếu chỉ đơn thuần quan sát, phân tích ảnh bằng thị giác thì ta không

dễ gì cảm nhận được các đại lượng này. Thay vì thao tác trực tiếp trên độ xám của

các pixel (trường độ xám), ta sẽ thao tác, xử lý trên các đối tượng mới này.

1.2. Phép biến đổi Fourier và miền tần số

Biến đổi Fourrier cho một tín hiệu có thể hình dung như sau:

Phép biển đổi Fourier đi từ miền không gian (liên tục hay rời rạc) tới miền tần

số luôn luôn liên tục. Khai triển phân tích một hàm f của trường độ xám bất kì thành

tổng của vô hạn các sóng dạng sin hay cos. Một sóng có tần số càng cao thì dao

động càng dày đặc gây nên sự biến đổi đột ngột giá trị của f. Chính các thành phần

này gây sự xáo trộn mạnh mẽ cho giá trị của hàm f do đó làm giảm tính trơn của f.

Mặt khác tín hiệu nhiễu là tín hiệu có biên độ thấp và tần số cao. Vì tính chất này

nên Fourier đã được ứng dụng vào lọc ảnh trên miền tần số.

Biến đổi Fourrier cho một tín hiệu một chiều gồm một cặp biến đổi:

- Biến đổi thuận: chuyển sự biểu diễn từ không gian thực sang không gian tần

số (phổ và pha). Các thành phần tần số này được gọi là các biểu diễn trong không

gian Fourrier của tín hiệu.

- Biến đổi ngược: chuyển đổi sự biểu diễn của đối tượng từ không gian Fourier

sang không gian thực.

Không gian một chiều

Cho một hàm f(x) liên tục. Biến đổi Fourrier của f(x), kí hiệu F(u), u biểu diễn

tần số không gian, được định nghĩa:

trong đó:

f(x): biểu diễn biên độ tín hiệu

e-2πixu : biểu diễn pha.

Page 14: Tìm hiểu về các phép lọc số, khảo sát và xây dựng thử nghiệm các ứng dụng của phép lọc trên miền tần số với xử lý ảnh màu

14 [email protected]

Biến đổi ngược của F(u) cho f(x) được định nghĩa:

Không gian hai chiều

Cho f(x,y) hàm biểu diễn ảnh liên tục trong không gian 2 chiều, cặp biến đổi

Fourier cho f(x,y) được định nghĩa:

- Biến đổi thuận

u, v biểu diễn tần số

- Biến đổi ngược

1.3. Phép biến đổi Fourier rời rạc - DFT

Ý tưởng của việc áp dụng khai triển Fourier nằm ở chỗ ta muốn phân tích một

hàm hai biến f = f(x, y) bất kì thành tổng của vô hạn các sóng dạng sin hay cos. Tuy

nhiên, không nhất thiết chỉ có khai triển Fourier mới cho ta một cách phân tích như

vậy. Hơn nữa, trường độ xám f mà ta đang xét là hàm bậc thang, tức là có hữu hạn

giá trị nên f hoàn toàn có thể được phân tích thành sóng một cách đơn giản hơn. Ta

bắt đầu xét cách phân tích “đơn giản hơn” này dưới dạng một chiều để thấy rõ ý

tưởng.

Gọi g là một hàm có miền xác định rời rạc như sau

g: {0,1,….,M – 1}→ R

Khi đó hàm G:{0,1,...,M – 1}→C xác định bởi

𝐺(𝑢) = ∑ 𝑔(𝑥)𝑒−𝑖2𝜋𝑢𝑥𝑀

𝑀−1

𝑥=0

(1.3)

Được gọi là biến đổi Fourier rời rạc (DFT) của g.

Công thức (1.3) cho thấy mỗi hàm rời rạc g đều có DFT. Hơn nữa, khi biết

DFT của g là G, ta có thể tìm ngược trở lại g bằng công thức:

Page 15: Tìm hiểu về các phép lọc số, khảo sát và xây dựng thử nghiệm các ứng dụng của phép lọc trên miền tần số với xử lý ảnh màu

15 [email protected]

𝑔(𝑥) =1

𝑀∑ 𝐺(𝑢)𝑒𝑖2𝜋

𝑢𝑥𝑀

𝑀−1

𝑢=0

(1.4)

Công thức (1.3) và (1.4) cho thấy sự tương ứng 1 – 1 giữa một hàm rời rạc

và DFT của nó. Khi biết g ta có thể tìm được G và ngược lại. Tuy nhiên, điều đặc

biệt lại nằm ở công thức (1.4). Ta biết rằng:

𝑒𝑖𝜃 = 𝑐𝑜𝑠𝜃 + 𝑖 𝑠𝑖𝑛𝜃

Nên (1.4) được viết lại như sau:

𝑔(𝑥) =1

𝑀∑ 𝐺(𝑢) (𝑐𝑜𝑠

2𝜋𝑥𝑢

𝑀+ 𝑖 𝑠𝑖𝑛

2𝜋𝑥𝑢

𝑀) (1.5)

𝑀−1

𝑢=0

Vì G là hàm nhận giá trị phức nên ta có thể biểu diễn nó dưới dạng

G(u) = R(u) – i I(u) ∀𝑢 ∈ {0,1, … ,𝑀 − 1}

Trong đó R và I chỉ nhận các giá trị thực. Thế vào (1.5), ta được

𝑔(𝑥) =1

𝑀∑(𝑅(𝑢) − 𝑖 𝐼(𝑢))(cos

2𝜋𝑥𝑢

𝑀+ 𝑖 sin

2𝜋𝑥𝑢

𝑀)

𝑀−1

𝑢=0

Hay

𝑔(𝑥) =1

𝑀∑ (𝑅(𝑢)cos

2𝜋𝑥𝑢

𝑀− 𝐼(𝑢) sin

2𝜋𝑥𝑢

𝑀))

𝑀−1

𝑢=0

+ 𝑖1

𝑀∑ (𝑅(𝑢) sin

2𝜋𝑥𝑢

𝑀− 𝐼(𝑢)cos

2𝜋𝑥𝑢

𝑀)

𝑀−1

𝑢=0

Vì g chỉ nhận giá trị thực nên phần ảo ở hai vế bằng 0. Do đó

𝑔(𝑥) =1

𝑀∑ (𝑅(𝑢)cos

2𝜋𝑥𝑢

𝑀+ 𝐼(𝑢) sin

2𝜋𝑥𝑢

𝑀)

𝑀−1

𝑢=0

(1.6)

Page 16: Tìm hiểu về các phép lọc số, khảo sát và xây dựng thử nghiệm các ứng dụng của phép lọc trên miền tần số với xử lý ảnh màu

16 [email protected]

Rõ ràng (1.6) là một sự phân tích hàm g thành tổng của các sóng sin hay cos.

Chú ý rằng tổng ở đây là tổng hữu han, chứ không phải tổng vô hạn (chuỗi) như

khai triển Fourier mà ta đã xét ở mục trước.

Mỗi sóng thành phần là 𝑅(𝑢)cos2𝜋𝑥𝑢

𝑀 và 𝐼(𝑢) sin

2𝜋𝑥𝑢

𝑀. Ứng với mỗi u, các

sóng này đều có chu kì là 𝑀

𝑢, tức là có tần số là

𝑢

𝑀. Do đó, khi u càng lớn (tức là càng

gần M) thì tần số dao động của các sóng này càng cao. Tiếp theo, ta xét biên độ của

các sóng này. Từ (1.3), ta có

𝑅(𝑢) = ∑ 𝑔(𝑥)𝑐𝑜𝑠2𝜋𝑥𝑢

𝑀

𝑀−1

𝑥=0

(1.7)

𝐼(𝑢) = ∑ 𝑔(𝑥)𝑠𝑖𝑛2𝜋𝑥𝑢

𝑀

𝑀−1

𝑥=0

(1.8)

Vì 𝑅(𝑢)cos2𝜋𝑥𝑢

𝑀 và 𝐼(𝑢) sin

2𝜋𝑥𝑢

𝑀 là hai sóng cùng tần số (sóng kết hợp) nên

tổng hợp của hai sóng này cũng có dạng sin hoặc cos. Do G(u) = R(u) –i I(u)

Nên

|𝐺(𝑢)| = √𝑅2(𝑢) + 𝐼2(𝑢)

Vì vậy

𝑅(𝑢)cos2𝜋𝑥𝑢

𝑀+ 𝐼(𝑢) sin

2𝜋𝑥𝑢

𝑀

= |𝐺(𝑢)|(𝑅(𝑢)

√𝑅2(𝑢) + 𝐼2(𝑢)𝑐𝑜𝑠

2𝜋𝑥𝑢

𝑀+

𝐼(𝑢)

√𝑅2(𝑢) + 𝐼2(𝑢)𝑠𝑖𝑛

2𝜋𝑥𝑢

𝑀)

Gọi 𝛼𝑢 ∈ (−𝜋, 𝜋] là góc thỏa {𝑐𝑜𝑠𝛼𝑢 =

𝑅(𝑢)

√𝑅2(𝑢)+𝐼2(𝑢)

𝑠𝑖𝑛𝛼𝑢 =𝐼(𝑢)

√𝑅2(𝑢)+𝐼2(𝑢)

Khi đó

𝑅(𝑢)𝑐𝑜𝑠2𝜋𝑥𝑢

𝑀+ 𝐼(𝑢)𝑠𝑖𝑛

2𝜋𝑥𝑢

𝑀= |𝐺(𝑢)| (𝑐𝑜𝑠𝛼𝑢𝑐𝑜𝑠

2𝜋𝑥𝑢

𝑀+ 𝑠𝑖𝑛𝛼𝑢𝑠𝑖𝑛

2𝜋𝑥𝑢

𝑀)

= |𝐺(𝑢)|cos (2𝜋𝑥𝑢

𝑀+ 𝛼𝑢)

Do đó (1.6) được viết lại như sau

Page 17: Tìm hiểu về các phép lọc số, khảo sát và xây dựng thử nghiệm các ứng dụng của phép lọc trên miền tần số với xử lý ảnh màu

17 [email protected]

𝑔(𝑥) =1

𝑀∑|𝐺(𝑢)|cos (

2𝜋𝑥𝑢

𝑀+ 𝛼𝑢)

𝑀−1

𝑢=0

(1.9)

Công thức (1.9) cho ta thấy g có thể phân tích được thành tổng của M sóng có

biên độ dương. Mỗi sóng như vậy có tần số là 𝑢

𝑀 , với 𝑢 ∈ {0,1,2, … ,𝑀 − 1}. Ta

mong muốn rằng khi u càng lớn thì biên độ các sóng trên càng nhỏ.

Theo công thức (1.9) thì biên độ của sóng ứng với u = 0 là 1

𝑀|𝐺(0)|. Ở (1.3),

ta có 𝐺(0) = ∑ 𝑔(𝑥)𝑀−1𝑥=0 , tức là tổng của g. Ta sẽ chứng mình rằng

|𝐺(𝑢)| ≤ |𝐺(0)|, ∀𝑢 ∈ {0,1, … ,𝑀 − 1}

Điều cần chứng minh tương đương với

|∑ 𝑔(𝑥)𝑒−𝑖2𝜋𝑢𝑥𝑀

𝑀−1

𝑥=0

| ≤ |∑ 𝑔(𝑥)

𝑀−1

𝑥=0

|

Hay

(∑ 𝑔(𝑥)𝑎𝑥

𝑀−1

𝑥=1

)

2

+ (∑ 𝑔(𝑥)𝑏𝑥

𝑀−1

𝑥=1

)

2

≤ (∑ 𝑔(𝑥)

𝑀−1

𝑥=1

)

2

(1.10)

Với

𝑎𝑥 = 𝑐𝑜𝑠2𝜋𝑢𝑥

𝑀, 𝑏𝑥 = 𝑠𝑖𝑛2𝜋

𝑢𝑥

𝑀

Khai triển 2 vế của (1.10) ta có được bất đẳng thức tương đương:

(∑ 𝑔(𝑥)𝑎𝑥

𝑀−1

𝑥=1

)

2

= ∑(𝑔(𝑥)𝑎𝑥)2

𝑁−1

𝑥=1

+∑𝑔(𝑥)𝑔(𝑦)𝑎𝑥𝑎𝑦𝑥<𝑦

(∑ 𝑔(𝑥)𝑏𝑥

𝑀−1

𝑥=1

)

2

= ∑(𝑔(𝑥)𝑏𝑥)2

𝑁−1

𝑥=1

+∑𝑔(𝑥)𝑔(𝑦)𝑏𝑥𝑏𝑦𝑥<𝑦

∑𝑔(𝑥)𝑔(𝑦)(𝑎𝑥𝑎𝑦 + 𝑏𝑥𝑏𝑦) ≤ ∑𝑔(𝑥)𝑔(𝑦)

𝑥<𝑦𝑥<𝑦

Áp dụng bất đẳng thức Bunhyakovski-Cauchy-Schwarz, ta có

𝑎𝑥𝑎𝑦 + 𝑏𝑥𝑏𝑦 ≤ √(𝑎𝑥2 + 𝑏𝑥

2)(𝑎𝑦2 + 𝑏𝑦

2)

Mà 𝑎𝑥2 + 𝑏𝑥

2 = 𝑎𝑦2 + 𝑏𝑦

2 = 1 nên ta có ngay điều phải chứng minh.

Page 18: Tìm hiểu về các phép lọc số, khảo sát và xây dựng thử nghiệm các ứng dụng của phép lọc trên miền tần số với xử lý ảnh màu

18 [email protected]

Như vậy, sóng ứng với u = 0 có biên độ lớn nhất. Nếu quan sát kĩ (1.7) và

(1.8), ta sẽ phát hiện ra một tính chất đặc biệt nữa của G.

Theo (1.7), thay u bởi M – u ta được

𝑅(𝑀 − 𝑢) = ∑ 𝑔(𝑥)𝑐𝑜𝑠2𝜋𝑥

𝑀

𝑀−1

𝑥=0

(𝑀 − 𝑢) = ∑ 𝑔(𝑥)cos (2𝜋𝑥 −2𝜋𝑥𝑢

𝑀

𝑀−1

𝑥=0

)

= ∑ 𝑔(𝑥)cos2𝜋𝑥𝑢

𝑀= 𝑅(𝑢)

𝑀−1

𝑥=0

Theo (1.8), thay u bởi M - u, ta được

𝐼(𝑀 − 𝑢) = ∑ 𝑔(𝑥)sin (2𝜋𝑥

𝑀

𝑀−1

𝑥=0

(𝑀 − 𝑢)) = ∑ 𝑔(𝑥)sin (2𝜋𝑥 −2𝜋𝑥𝑢

𝑀

𝑀−1

𝑥=0

)

= −∑ 𝑔(𝑥)sin (2𝜋𝑥𝑢

𝑀

𝑀−1

𝑥=0

) = −𝐼(𝑢)

Do đó, với mọi 𝑢 ∈ {0,1, … ,𝑀 − 1}, ta có

𝑅(𝑀 − 𝑢) = 𝑅(𝑢)

𝐼(𝑀 − 𝑢) = −𝐼(𝑢)

Vì vậy nên

|𝐺(𝑀 − 𝑢)| = |𝐺(𝑢)|

Điều đó có nghĩa là đồ thị của |𝐺| đối xứng qua đường thẳng 𝑢 =𝑀

2.

Do đó, thật ra chỉ cần biết |𝐺(𝑢)| với 0 ≤ 𝑢 ≤𝑀

2 là có thể suy ra giá trị của

các |𝐺(𝑢)| với 𝑀

2≤ 𝑢 ≤ 𝑀 − 1.

Do đó, ta cũng có thể chấp nhận rằng các sóng 1

𝑀|𝐺(𝑢)|cos (

2𝜋𝑥𝑢

𝑀+ 𝛼𝑢) chỉ

đóng vai trò là nhiễu khi u khá gần 𝑀

2.

Trên đây ta vừa đưa ra một cách biểu diễn sóng cho hàm một biến g. Ở đó,

một số sóng đóng góp lớn vào giá trị tổng của G ( khi u gần 0 hoặc gần M), trong

khi một số sóng khác chỉ đóng vai trò nhiễu (khi u gần 𝑀

2). Trên tinh thần đó, ta

cũng có một cách khai triển tương tự cho trường hợp hàm hai biến.

Page 19: Tìm hiểu về các phép lọc số, khảo sát và xây dựng thử nghiệm các ứng dụng của phép lọc trên miền tần số với xử lý ảnh màu

19 [email protected]

Ứng với mỗi 𝑥 ∈ {0,1, … ,𝑀 − 1}, lấy Fourier rời rạc theo biến y của f(x, y) ta

được

𝐹1(𝑥, 𝑣) = ∑ 𝑓(𝑥, 𝑦)𝑒−𝑖2𝜋𝑣𝑦𝑁

𝑁−1

𝑦=0

Tiếp tục lấy Fourier rời rạc theo biến x của 𝐹1(𝑥, 𝑣), ta được

𝐹(𝑥, 𝑣) = ∑ 𝐹1(𝑥, 𝑣)

𝑀−1

𝑥=0

𝑒−𝑖2𝜋𝑢𝑥𝑀 = ∑ 𝑒−𝑖2𝜋

𝑢𝑥𝑀

𝑀−1

𝑥=0

∑𝑓(𝑥, 𝑦)𝑒−𝑖2𝜋𝑣𝑦𝑁

𝑁−1

𝑦=0

= ∑∑𝑓(𝑥, 𝑦)𝑒−𝑖2𝜋(𝑢𝑥𝑀+𝑣𝑦𝑁)

𝑁−1

𝑦=0

𝑀−1

𝑥=0

Như vậy, ta có thể biến đổi Fourier rời rạc cho hàm hai biến f(x,y) là

𝐹(𝑢, 𝑣) = ∑∑𝑓(𝑥, 𝑦)𝑒−𝑖2𝜋(𝑢𝑥𝑀+𝑣𝑦𝑁)

𝑁−1

𝑦=0

𝑀−1

𝑥=0

(1.11)

với u = 0,1,…,M-1 , v = 0,1,…,N-1.

Tương tự như trường hợp một chiều, ta cũng có thể tìm lại f nếu biết DFT của

nó bằng công thức

𝑓(𝑥, 𝑦) =1

𝑀𝑁∑∑𝐹(𝑢, 𝑣)𝑒𝑖2𝜋(

𝑢𝑥𝑀+𝑣𝑦𝑁)

𝑁−1

𝑢=0

𝑀−1

𝑢=0

(1.12)

Nếu viết

𝐹(𝑢, 𝑣) = 𝑅(𝑢, 𝑣) − 𝑖𝐼(𝑢, 𝑣)

Thì (1.12) được viết lại thành

𝑓(𝑥, 𝑦) =1

𝑀𝑁∑∑(

𝑁−1

𝑢=0

𝑀−1

𝑢=0

𝑅(𝑢, 𝑣) − 𝑖𝐼(𝑢, 𝑣)(𝑐𝑜𝑠2𝜋 (𝑥𝑢

𝑀+𝑦𝑢

𝑁)

+ 𝑖𝑠𝑖𝑛2𝜋 (𝑥𝑢

𝑀+𝑦𝑢

𝑁))

Do f là giá trị thực nên phần ảo của vế phải bằng 0. Ta có

Page 20: Tìm hiểu về các phép lọc số, khảo sát và xây dựng thử nghiệm các ứng dụng của phép lọc trên miền tần số với xử lý ảnh màu

20 [email protected]

𝑓(𝑥, 𝑦) =1

𝑀𝑁∑∑ [𝑅(𝑢, 𝑣)𝑐𝑜𝑠2𝜋 (

𝑥𝑢

𝑀+𝑦𝑢

𝑁) + 𝐼(𝑢, 𝑣)𝑠𝑖𝑛2𝜋 (

𝑥𝑢

𝑀+𝑦𝑢

𝑁)]

𝑁−1

𝑢=0

𝑀−1

𝑢=0

=1

𝑀𝑁∑∑|𝐹(𝑢, 𝑣)| [

𝑅(𝑢, 𝑣)

|𝐹(𝑢, 𝑣)|𝑐𝑜𝑠2𝜋 (

𝑥𝑢

𝑀+𝑦𝑢

𝑁)

𝑁−1

𝑢=0

𝑀−1

𝑢=0

+𝐼(𝑢, 𝑣)

|𝐹(𝑢, 𝑣)|𝑠𝑖𝑛2𝜋 (

𝑥𝑢

𝑀+𝑦𝑢

𝑁)]

Gọi 𝛼𝑢𝑣 ∈ (−𝜋, 𝜋] là góc thỏa

{

𝑐𝑜𝑠𝛼𝑢𝑣 =

𝑅(𝑢, 𝑣)

|𝐹(𝑢, 𝑣)|

𝑠𝑖𝑛𝛼𝑢𝑣 =𝐼(𝑢, 𝑣)

|𝐹(𝑢, 𝑣)|

(1.13)

Ta có

𝑓(𝑥, 𝑦) =1

𝑀𝑁∑∑|𝐹(𝑢, 𝑣)|𝑐𝑜𝑠 [2𝜋 (

𝑥𝑢

𝑀+𝑦𝑢

𝑁) + 𝛼𝑢𝑣]

𝑁−1

𝑢=0

𝑀−1

𝑢=0

(1.14)

Như vậy, hàm hai biến f cũng được phân tích thành tổng của MN sóng dạng

sin hay dạng cos, mà không cần đến khai triển Fourier cho hàm hai biến.

Tiếp theo, ta xét biên độ của các sóng này, tức là |𝐹(𝑢, 𝑣)|. Đẳng thức (1.11)

có thể được viết lại thành

𝑅(𝑢, 𝑣) + 𝑖𝐼(𝑢, 𝑣) = ∑∑𝑓(𝑥, 𝑦) [𝑐𝑜𝑠2𝜋 (𝑥𝑢

𝑀+𝑦𝑢

𝑁) + 𝑖𝑠𝑖𝑛2𝜋 (

𝑥𝑢

𝑀+𝑦𝑢

𝑁)]

𝑁−1

𝑦=0

𝑀−1

𝑥=0

Do đó

𝑅(𝑢, 𝑣) = ∑∑𝑓(𝑥, 𝑦)𝑐𝑜𝑠2𝜋 (𝑥𝑢

𝑀+𝑦𝑢

𝑁)

𝑁−1

𝑦=0

𝑀−1

𝑥=0

(1.15)

𝐼(𝑢, 𝑣) = ∑∑𝑓(𝑥, 𝑦)𝑠𝑖𝑛2𝜋 (𝑥𝑢

𝑀+𝑦𝑢

𝑁)

𝑁−1

𝑦=0

𝑀−1

𝑥=0

(1.16)

Từ (1.14) suy ra

𝑅(𝑀 − 𝑢,𝑁 − 𝑣) = 𝑅(𝑢, 𝑣)

Từ (1.15) suy ra

Page 21: Tìm hiểu về các phép lọc số, khảo sát và xây dựng thử nghiệm các ứng dụng của phép lọc trên miền tần số với xử lý ảnh màu

21 [email protected]

𝐼(𝑀 − 𝑢,𝑁 − 𝑣) = −𝐼(𝑢, 𝑣)

Do đó

𝑅2(𝑀 − 𝑢,𝑁 − 𝑣) + 𝐼2(𝑀 − 𝑢,𝑁 − 𝑣) = 𝑅2(𝑢, 𝑣) + 𝐼2(𝑢, 𝑣)

Hay

|𝐹(𝑀 − 𝑢,𝑁 − 𝑣)| = |𝐹(𝑢, 𝑣)| (1.17)

Như vậy hàm |𝐹|đối xứng qua đường thẳng

{𝑢 =

𝑀

2

𝑣 =𝑁

2

Từ (1.11) ta có

𝐹(0,0) = ∑∑𝑓(𝑥, 𝑦)

𝑁−1

𝑦=0

𝑀−1

𝑥=0

Tức F(0,0) là giá trị tổng của f. Ta chứng minh được rằng

𝐹(0,0) = 𝑚𝑎𝑥|𝐹(𝑢, 𝑣)|

Như vậy, |𝐹(𝑢, 𝑣)| đạt giá trị lớn nhất tại (0, 0). Điều đó có nghĩa là trong các

sóng thành phần của f, sóng có biên độ lớn nhất là sóng ứng với (u, v)=(0, 0), và

biên độ này bằng giá trị tổng của f.

Dưới đây là biểu đồ độ cao của hàm F(u,v) với

𝑓(𝑥, 𝑦) = {5 𝑛ế𝑢 0 ≤ 𝑢, 𝑣 ≤ 40 𝑛ế𝑢 5 ≤ 𝑢, 𝑣 ≤ 15

Hình 4: Đồ thị ham |F|

Page 22: Tìm hiểu về các phép lọc số, khảo sát và xây dựng thử nghiệm các ứng dụng của phép lọc trên miền tần số với xử lý ảnh màu

22 [email protected]

Theo Hình 4 thì |𝐹(𝑢, 𝑣)| càng nhỏ khi (u, v) càng gần (𝑀

2,𝑁

2). Do đó, các

song ứng với (u, v) gần (𝑀

2,𝑁

2) có biên độ nhỏ (và do đó chỉ đóng vai trò nhiễu), còn

các sóng ứng với (u, v) gần (0, 0), hay (M, 0), hay (0, N), hay (M, N) thì có biên độ

lớn. Tiếp theo, ta xét khả năng vận dụng biến đổi DFT hai chiều ở (1.11) và (1.12)

vào việc xử lý ảnh. Hàm f giờ đây là trường độ xám, trong đó f(x, y) là độ xám của

ảnh tại pixel có tọa độ là (x, y).

Giả sử ta muốn là trơn ảnh, tức là làm trơn hàm f. Công thức (1.14) gợi ý rằng

kết quả ảnh g sẽ có dạng

𝑔(𝑥, 𝑦) =1

𝑀𝑁∑∑𝐻(𝑢, 𝑣)|𝐹(𝑢, 𝑣)|𝑐𝑜𝑠 [2𝜋 (

𝑥𝑢

𝑀+𝑦𝑢

𝑁) + 𝛼𝑢𝑣]

𝑁−1

𝑢=0

𝑀−1

𝑢=0

(1.18)

Trong đó H(u,v) khá nhỏ khi (u, v) gần (𝑀

2,𝑁

2) để làm giảm biên độ của các

nhiễu này. Ở đây, từ giảm có thể hiểu theo nghĩa H(u,v) = 1 khi (u, v) khá gần(0, 0),

hoặc (M, 0), hoặc (0, N), hoặc (M, N), còn 0 ≤ 𝐻(𝑢, 𝑣) < 1 khi (u, v) khá gần

(𝑀

2,𝑁

2) . Để tiện cho việc tính toán sau này, ta dùng phép biến đổi sau

��(𝑢, 𝑣) = 𝐹(𝑢 −𝑀

2, 𝑣 −

𝑁

2)

Khi đó|��(𝑢, 𝑣)| khá bé khi (u,v) xa (𝑀

2,𝑁

2).

Phép biến đổi này tương đương với phép biến đổi trên miền ảnh (tức là đổi

ảnh) sau:

𝑓(𝑥, 𝑦) = (−1)𝑥+𝑦𝑓(𝑥, 𝑦)

Thật vậy,

ℑ|𝑓(𝑥, 𝑦)| = ℑ[(−1)𝑥+𝑦𝑓(𝑥, 𝑦)] = ∑∑𝑓(𝑥, 𝑦)(−1)𝑥+𝑦𝑁−1

𝑦=0

𝑀−1

𝑥=0

𝑒−𝑖2𝜋(𝑢𝑥𝑀+𝑣𝑦𝑁)

= ∑∑𝑓(𝑥, 𝑦)𝑒𝑖𝜋(𝑥+𝑦)𝑁−1

𝑦=0

𝑀−1

𝑥=0

𝑒−𝑖2𝜋(𝑢𝑥𝑀+𝑣𝑦𝑁)

= ∑∑𝑓(𝑥, 𝑦)𝑒−𝑖2𝜋[𝑥𝑀(𝑢−

𝑀2)+𝑦𝑁(𝑣−

𝑁2)]

𝑁−1

𝑦=0

𝑀−1

𝑥=0

= 𝐹 (𝑢 −𝑀

2, 𝑣 −

𝑁

2)

= ��(𝑢, 𝑣)

Page 23: Tìm hiểu về các phép lọc số, khảo sát và xây dựng thử nghiệm các ứng dụng của phép lọc trên miền tần số với xử lý ảnh màu

23 [email protected]

Công thức (1.18) được biến đổi thành

��(𝑥, 𝑦) =1

𝑀𝑁∑∑𝐻(𝑢, 𝑣)|��(𝑢, 𝑣)|𝑐𝑜𝑠 [2𝜋 (

𝑥𝑢

𝑀+𝑦𝑢

𝑁) + 𝛼𝑢𝑣]

𝑁−1

𝑢=0

𝑀−1

𝑢=0

(1.19)

Sự biến đổi này chỉ là sự dời điểm sáng nhất trên |𝐹(𝑢, 𝑣)| từ (0,0) sang

(𝑀

2,𝑁

2) mà thôi.( Hình 5)

Hình 5: Trước khi dời trục va sau khi dời trục

Ảnh �� thu được ở (1.19) là ảnh kết hợp của ảnh đã được đổi biến. Do đó, ảnh

kết quả ứng với f là g phải thỏa mãn:

��(𝑥, 𝑦) = (−1)𝑥+𝑦𝑔(𝑥, 𝑦)

Tức là

𝑔(𝑥, 𝑦) = (−1)𝑥+𝑦��(𝑥, 𝑦)

Nếu đặt 𝐺(𝑢, 𝑣) = 𝐻(𝑢, 𝑣)��(𝑢, 𝑣) thì (1.19) được viết lại thành:

��(𝑥, 𝑦) =1

𝑀𝑁∑∑|𝐺(𝑢, 𝑣)|𝑐𝑜𝑠 [2𝜋 (

𝑥𝑢

𝑀+𝑦𝑢

𝑁) + 𝛼𝑢𝑣]

𝑁−1

𝑢=0

𝑀−1

𝑢=0

(1.20)

Trong đó 𝛼𝑢𝑣 được cho bởi (1.13) nhưng thay R và I bằng �� và 𝐼

{

𝑐𝑜𝑠𝛼𝑢𝑣 =

��(𝑢, 𝑣)

|𝐹(𝑢, 𝑣)|

𝑠𝑖𝑛𝛼𝑢𝑣 =𝐼(𝑢, 𝑣)

|𝐹(𝑢, 𝑣)|

(1.21)

Nếu gọi �� là phần thực của DFT ngược của G thì áp dụng (1.14) với 𝐹 ≡ 𝐺, ta có

Page 24: Tìm hiểu về các phép lọc số, khảo sát và xây dựng thử nghiệm các ứng dụng của phép lọc trên miền tần số với xử lý ảnh màu

24 [email protected]

��(𝑥, 𝑦) =1

𝑀𝑁∑∑|𝐺(𝑢, 𝑣)|𝑐𝑜𝑠 [2𝜋 (

𝑥𝑢

𝑀+𝑦𝑢

𝑁) + 𝛼′𝑢𝑣]

𝑁−1

𝑢=0

𝑀−1

𝑢=0

(1.22)

Trong đó 𝛼′𝑢𝑣 được cho bởi (1.13) nhưng thay F bởi G và thay R và I lần lượt

là Re(G) và –Im(G).

𝐺(𝑢, 𝑣) = 𝐻(𝑢, 𝑣)��(𝑢, 𝑣) = 𝐻(𝑢, 𝑣)��(𝑢, 𝑣) − 𝑖𝐻(𝑢, 𝑣)𝐼(𝑢, 𝑣)

Nên với giả thiết h(u,v) thực, ta có

𝑅𝑒(𝐺) = 𝐻(𝑢, 𝑣)��(𝑢, 𝑣)

−𝐼𝑚(𝐺) = 𝐻(𝑢, 𝑣)𝐼(𝑢, 𝑣)

Do đó

𝑐𝑜𝑠𝛼′𝑢𝑣 =𝐻(𝑢, 𝑣)��(𝑢, 𝑣)

|𝐺(𝑢, 𝑣)|=

𝐻(𝑢, 𝑣)��(𝑢, 𝑣)

|𝐻(𝑢, 𝑣)||��(𝑢, 𝑣)|

𝑠𝑖𝑛𝛼′𝑢𝑣 =𝐻(𝑢, 𝑣)𝐼(𝑢, 𝑣)

|𝐺(𝑢, 𝑣)|=

𝐻(𝑢, 𝑣)𝐼(𝑢, 𝑣)

|𝐻(𝑢, 𝑣)||��(𝑢, 𝑣)|

Do đó, nếu 𝐻(𝑢, 𝑣) ≥ 0 thì

{

𝑐𝑜𝑠𝛼′𝑢𝑣 =

��(𝑢, 𝑣)

|𝐹(𝑢, 𝑣)|

𝑠𝑖𝑛𝛼′𝑢𝑣 =𝐼(𝑢, 𝑣)

|𝐹(𝑢, 𝑣)|

(1.23)

Từ (1.21) và (1.23) ta suy ra 𝛼′𝑢𝑣 = 𝛼𝑢𝑣

Do đó (1.22) được viết lại thành

��(𝑥, 𝑦) =1

𝑀𝑁∑∑|𝐺(𝑢, 𝑣)|𝑐𝑜𝑠 [2𝜋 (

𝑥𝑢

𝑀+𝑦𝑢

𝑁) + 𝛼𝑢𝑣]

𝑁−1

𝑢=0

𝑀−1

𝑢=0

(1.24)

So sánh với (1.20) ta suy ra ��(𝑥, 𝑦) = ��(𝑥, 𝑦). Điều đó có nghĩa là �� ở (1.19)

chính là phần thực của biến đổi DFT ngược của 𝐺(𝑢, 𝑣) = 𝐻(𝑢, 𝑣)��(𝑢, 𝑣). Như

vậy, với hạn chế rằng hàm lọc H là thực và không âm thì quy trình xử lý ảnh được

viết như sau:

1.Đổi ảnh: 𝑓(𝑥, 𝑦) = (−1)𝑥+𝑦𝑓(𝑥, 𝑦)

2.Lập biến đổi DFT hai chiều ��(𝑢, 𝑣) của 𝑓.

3.Tạo một lọc không âm H(u,v).

Page 25: Tìm hiểu về các phép lọc số, khảo sát và xây dựng thử nghiệm các ứng dụng của phép lọc trên miền tần số với xử lý ảnh màu

25 [email protected]

*Nếu muốn làm trơn ảnh

{𝐻(𝑢, 𝑣) = 1 𝑛ế𝑢 (𝑢, 𝑣)𝑔ầ𝑛 (

𝑀

2,𝑁

2)

0 ≤ 𝐻(𝑢, 𝑣) < 1 𝑛ế𝑢 (𝑢, 𝑣)𝑥𝑎 (𝑀

2,𝑁

2)

*Nếu muốn làm sắc ảnh:

{𝐻(𝑢, 𝑣) = 1 𝑛ế𝑢 (𝑢, 𝑣)𝑥𝑎 (

𝑀

2,𝑁

2)

0 ≤ 𝐻(𝑢, 𝑣) < 1 𝑛ế𝑢 (𝑢, 𝑣)𝑔ầ𝑛 (𝑀

2,𝑁

2)

4.Tính 𝐺(𝑢, 𝑣) = 𝐻(𝑢, 𝑣)��(𝑢, 𝑣).

5.Tìm ��, là phần thực của biến đổi DFT ngược của G.

6.Ảnh kết quả 𝑔(𝑥, 𝑦) = (−1)𝑥+𝑦��(𝑥, 𝑦)

Quy trình xử lý ảnh màu như sau:

Hình 6: Quá trình xử lý ảnh mau trên miền tần số

1.4. Biến đổi Fast Fourier (FFT)

Trên tinh thần đánh giá độ phức tạp của thuật toán, chúng tôi chỉ nêu ý tưởng

và phân tích chi phí của thuật toán chứ không đi sâu vào chi tiết của nó. Để thấy ý

tưởng của FFT, ta xét trường hợp hai một biến f và với M cái dạng lũy thừa cơ số 2

Giả sử DFT của hàm một biến f là F

𝐹(𝑢) = ∑ 𝑓(𝑥)𝑒−𝑖2𝜋𝑥𝑢𝑀

𝑀−1

𝑥=0

(1.25)

Page 26: Tìm hiểu về các phép lọc số, khảo sát và xây dựng thử nghiệm các ứng dụng của phép lọc trên miền tần số với xử lý ảnh màu

26 [email protected]

Biến đổi DFT ngược tương ứng là

𝑓(𝑥) =1

𝑀∑ 𝐹(𝑢)𝑒𝑖2𝜋

𝑥𝑢𝑀 (1.26)

𝑀−1

𝑢=0

Vấn đề đặt ra là làm sao tính nhanh F(u) với u=0, 1, 2,…, M-1 từ (1.25) nếu

biết f(x) với x = 0, 1, 2,…, M-1. Làm sao tính nhanh f(x) với x = 0, 1, 2,…, M-1 từ

(1.26) nếu biết F(u) với u = 0, 1, 2,…, M-1.

Vì (1.25) và (1.26) các cấu trúc khá giống nhau nên ta chỉ phân tích (1.25), ta

viết lại dưới dạng

𝐹(𝑢) = ∑ 𝑓(𝑥) (𝑐𝑜𝑠2𝜋𝑥𝑢

𝑀− 𝑖𝑠𝑖𝑛2𝜋

𝑥𝑢

𝑀)

𝑀−1

𝑥=0

Hay

𝐹(𝑢) = ∑ 𝑓(𝑥)𝑐𝑜𝑠2𝜋𝑥𝑢

𝑀

𝑀−1

𝑥=0

− 𝑖 ∑ 𝑓(𝑥)𝑠𝑖𝑛2𝜋𝑥𝑢

𝑀

𝑀−1

𝑥=0

(1.27)

Nếu tính F(u) từ (1.27) thì với mỗi u ta phải tốn ít nhất 2M phép cộng, 2M

phép nhân và 2M phép tính lượng giác. Do đó, để tính ra được F(u) với mọi u = 0,

1, 2,…, M-1, ta phải tốn khoảng 2𝑀2 phép cộng, 2𝑀2 phép nhân và 2𝑀2 phép tính

lượng giác. Như vậy, độ phức tạp của phương pháp ở (1.27) là 𝑜(𝑀2). Đó là ta đã

xem như phép tính lượng giác có chi phí ngang với phép cộng và nhân. Thực tế thì

các phép tính sin hay cos có chi phí lớn hơn nhiều. Do đó, khuyết điểm ở (1.27) là

ta phải tính toán quá nhiều trên các hàm lượng giác. Do đó, khuyết điểm ở (1.27) là

ta phải tính toán quá nhiều trên các hàm lượng giác. Công thức (1.25) gợi ý cho ta

một giải pháp.

Nếu đặt 𝑊𝑀 = 𝑒−2𝜋𝑖1

𝑀 thì (1.27) được viết lại thành

𝐹(𝑢) = ∑ 𝑓(𝑥)𝑊𝑀𝑥𝑢

𝑀−1

𝑥=0

Page 27: Tìm hiểu về các phép lọc số, khảo sát và xây dựng thử nghiệm các ứng dụng của phép lọc trên miền tần số với xử lý ảnh màu

27 [email protected]

Vì 𝑀 = 2𝑛 nên

𝐹(𝑢) = ∑ 𝑓(𝑥)𝑊𝑀𝑥𝑢

2𝑛−1

𝑥=0

Hay

𝐹(𝑢) = ∑ 𝑓(2𝑥)𝑊𝑀2𝑥𝑢

2𝑛−1−1

𝑥=0

+ ∑ 𝑓(2𝑥 + 1)𝑊𝑀(2𝑥+1)𝑢

2𝑛−1−1

𝑥=0

(1.28)

Đặt M = 2K với K = 2𝑛−1, thì ta thấy

𝑊𝑀2𝑥𝑢 = 𝑊2𝐾

2𝑥𝑢 = 𝑊𝐾𝑥𝑢

Do đó (1.28) được viết lại thành

𝐹(𝑢) = ∑𝑓(2𝑥)𝑊𝐾𝑥𝑢

K−1

𝑥=0

+∑𝑓(2𝑥 + 1)𝑊𝑀(2𝑥+1)𝑢 (1.29)

K−1

𝑥=0

Nếu số hạng thứ nhất của vế phải (1.29) chỉ được tính với u = 0, 1, 2,…, K-1

thì cấu trúc của nó giống vế phải của (1.25) nhưng f(x) thay bởi g(x) = f(2x).

Với 0 ≤ 𝑢 ≤ 𝑀 − 1, thay u bởi u + K ở (1.29), ta được

𝐹(𝑢 + 𝐾) = ∑𝑓(2𝑥)𝑊𝐾𝑥(𝑢+𝐾)

K−1

𝑥=0

+∑𝑓(2𝑥 + 1)𝑊𝑀(2𝑥+1)(𝑢+𝐾) (1.30)

K−1

𝑥=0

Ta có

𝑊𝐾𝑥(𝑢+𝐾) = 𝑊𝐾

𝑥𝑢+𝑥𝐾 = 𝑒−𝑖2𝜋𝑥𝑢+𝑥𝐾𝐾 = 𝑒−𝑖2𝜋

𝑥𝑢𝐾 𝑒−𝑖2𝜋𝑥 = 𝑒−𝑖2𝜋

𝑥𝑢𝐾

Do đó

𝑊𝐾𝑥(𝑢+𝐾) = 𝑊𝐾

𝑥𝑢 (1.31)

Ta có

𝑊𝑀(2𝑥+1)(𝑢+𝐾) = 𝑊𝑀

(2𝑥+1)𝑢+(2𝑥+1)𝐾 = 𝑒−𝑖2𝜋[

(2𝑥+1)𝑢𝑀

+(2𝑥+1)𝐾𝑀]

Page 28: Tìm hiểu về các phép lọc số, khảo sát và xây dựng thử nghiệm các ứng dụng của phép lọc trên miền tần số với xử lý ảnh màu

28 [email protected]

Hay

𝑊𝑀(2𝑥+1)(𝑢+𝐾) = 𝑒−𝑖2𝜋

(2𝑥+1)𝑢𝑀 𝑒−𝑖2𝜋(2𝑥+1)

12 = 𝑊𝑀

(2𝑥+1)𝑢𝑒−𝑖𝜋(2𝑥+1) = −𝑊𝑀(2𝑥+1)𝑢

Do đó

𝑊𝑀(2𝑥+1)(𝑢+𝐾) = −𝑊𝑀

(2𝑥+1)𝑢 (1.32)

Thế (1.31) và (2.32) vào (1.30), ta được

𝐹(𝑢 + 𝐾) = ∑𝑓(2𝑥)𝑊𝐾𝑥𝑢

K−1

𝑥=0

−∑𝑓(2𝑥 + 1)𝑊𝑀(2𝑥+1)𝑢

K−1

𝑥=0

(1.33)

Vấn đề bây giờ là số hạng thứ hai ở vế phải của (1.29) hay (1.33) vẫn chưa có

cấu trúc giống số hạng thứ nhất của nó. Do đó ta cần phải phân tích tiếp số hạng

này.

Ta thấy

𝑊𝑀(2𝑥+1)𝑢 = 𝑊𝑀

2𝑥𝑢+𝑢 = 𝑒−𝑖2𝜋2𝑥𝑢+𝑢𝑀 = 𝑒−𝑖2𝜋(

2𝑥𝑢2𝐾

+𝑢𝑀)

Hay

𝑊𝑀(2𝑥+1)𝑢 = 𝑒−𝑖2𝜋

2𝑥𝑢2𝐾 𝑒−𝑖2𝜋

𝑢𝑀

Hay

𝑊𝑀(2𝑥+1)𝑢 = 𝑊𝐾

𝑥𝑢𝑊𝑀𝑢 (1.34)

Thế (1.34) vào (1.29) và (1.33), ta được

𝐹(𝑢) = ∑𝑓(2𝑥)𝑊𝐾𝑥𝑢

K−1

𝑥=0

+𝑊𝑀𝑢∑𝑓(2𝑥 + 1)𝑊𝑀

𝑥𝑢

K−1

𝑥=0

(1.35)

hay

𝐹(𝑢 + 𝐾) = ∑𝑓(2𝑥)𝑊𝐾𝑥𝑢

K−1

𝑥=0

−𝑊𝑀𝑢∑𝑓(2𝑥 + 1)𝑊𝑀

𝑥𝑢

K−1

𝑥=0

(1.36)

Đặt

𝑓1(𝑥) = 𝑓(2𝑥) 𝑣ớ𝑖 0 ≤ 𝑥 ≤ 𝐾 − 1

𝑓2(𝑥) = 𝑓(2𝑥 + 1) 𝑣ớ𝑖 0 ≤ 𝑥 ≤ 𝐾 − 1

Page 29: Tìm hiểu về các phép lọc số, khảo sát và xây dựng thử nghiệm các ứng dụng của phép lọc trên miền tần số với xử lý ảnh màu

29 [email protected]

Và gọi 𝐹1(𝑢) và 𝐹2(𝑢) lần lượt là DFT của chúng thì (1.35) và (1.36) được

viết lại như sau

𝐹(𝑢) =1

2𝐹1(𝑢) +

1

2𝑊𝑀

𝑢𝐹2(𝑢) (1.37)

𝐹(𝑢 + 𝐾) =1

2𝐹1(𝑢) −

1

2𝑊𝑀

𝑢𝐹2(𝑢) (1.38)

Như vậy, để tính được tất cả các F(u) với u = 0, 1, 2,…, M – 1 thì ta cần phải

tính 𝐹1(𝑢), 𝐹2(𝑢) và 𝑊𝑀𝑢.

Nếu gọi 𝑎𝑛 và 𝑚𝑛 lần lượt là số phép cộng và phép nhân cần dùng để tìm F(u)

ở (1.25) ứng với M = 2𝑛 thì chi phí tính tất cả các 𝐹1(𝑢) với u = 0, 1, 2,…, K – 1 là

𝑎𝑛−1 +𝑚𝑛−1. Chi phí tính tất cả các 𝐹2(𝑢) với u = 0, 1, 2,…, K – 1 là 𝑎𝑛−1 +

𝑚𝑛−1. Để tính F(u) ở (1.37) và (1.38) ta còn phải tính được 𝑊𝑀𝑢

𝑊𝑀𝑢 = 𝑒−𝑖2𝜋

𝑢𝑀 = 𝑐𝑜𝑠 (2𝜋

𝑢

𝑀) + 𝑖𝑠𝑖𝑛 (2𝜋

𝑢

𝑀) (1.39)

Nếu dùng (1.39) để tính 𝑊𝑀𝑢 thì ta vẫn phải tốn đến 2 phép tính lượng giác

ứng với mỗi u. Tức là phải tốn 2M phép tính lượng giác để tính được tất cả các

F(u). Đó là chi phí lớn mà ta đang muốn né tránh. Ta thấy rằng

𝑊𝑀𝑢+1 = 𝑊𝑀

𝑢𝑊𝑀

Như vậy, ta chỉ cần dùng 2 phép tính lượng giác để tính được 𝑊𝑀, rồi sau đó

dùng phép nhân hai số phức để tính được 𝑊𝑀2, 𝑊𝑀

3, … ,𝑊𝑀𝐾−1. Một phép nhân hai

số phức tốn 4 phép nhân số thực và 2 phép cộng số thực. Do vậy, chi phí tính 𝑊𝑀𝑢

ở (1.37) và (1.38) là 4 phép nhân và 2 phép cộng. Do đó, để tính hết tất cả các 𝑊𝑀𝑢

với u = 0, 1,…, K – 1 thì ta phải tốn 4K phép nhân và 2K phép cộng.

Như vậy, từ (1.37) và (1.38) ta có

𝑎𝑛 = 2𝑎𝑛−1 +𝑀 + 2𝐾

𝑚𝑛 = 2𝑚𝑛−1 + 4𝐾 + 2𝐾

Hay

𝑎𝑛 = 2𝑎𝑛−1 + 2. 2𝑛

𝑚𝑛 = 2𝑚𝑛−1 + 4. 2𝑛

Do đó

𝑎𝑛 = 𝐴1𝑛2𝑛

𝑚𝑛 = 𝐴2𝑛2𝑛

Page 30: Tìm hiểu về các phép lọc số, khảo sát và xây dựng thử nghiệm các ứng dụng của phép lọc trên miền tần số với xử lý ảnh màu

30 [email protected]

Trong đó 𝐴1 và 𝐴2 là các hằng số.

Đo đó chi phí để tìm DFT của f là:

𝑎𝑛+𝑚𝑛 = (𝐴1 + 𝐴2)𝑛2𝑛 = (𝐴1 + 𝐴2)𝑀(log𝑀)

Tức là thuật toán có độ phức tạp là 𝑀(log𝑀).

Rõ ràng chi phí này tốt hơn nhiều so với chi phí 𝑀2 như phương pháp tính

thông thường.

Tiếp theo, ta ứng dụng thuật toán FFT như trên vào trường hợp hai chiều.

Giả sử f = f(x,y) là hàm hai biến và F = F(u,v) là DFT của f(x,y)

𝐹(𝑢, 𝑣) = ∑∑𝑓(𝑥, 𝑦)𝑒−𝑖2𝜋(𝑢𝑥𝑀+𝑣𝑦𝑁) (1.40)

𝑁−1

𝑦=0

𝑀−1

𝑥=0

Hay

𝐹(𝑢, 𝑣) = ∑ (∑𝑓(𝑥, 𝑦)𝑒−𝑖2𝜋𝑣𝑦𝑁

𝑁−1

𝑦=0

)𝑒−𝑖2𝜋𝑢𝑥𝑀

𝑀−1

𝑥=0

(1.41)

Ứng với mỗi x và v, ta đặt

𝐴𝑥𝑣 = ∑ 𝑓(𝑥, 𝑦)𝑒−𝑖2𝜋𝑣𝑦𝑁

𝑁−1

𝑦=0

Khi đó với mỗi x = 0, 1,…, M – 1 thì 𝐴𝑥𝑣 chính là DFT một chiều của 𝑓𝑥(𝑦) =

𝑓(𝑥, 𝑦). Do đó, chi phí để tính đươc các 𝐴𝑥𝑣 với v = 0, 1,…, N - 1 là NlogN. Công

thức (2.41) được viết lại

𝐹(𝑢, 𝑣) = ∑ 𝐴𝑥𝑣𝑒−𝑖2𝜋

𝑢𝑥𝑀

𝑀−1

𝑥=0

(1.42)

Như vậy, chi phí để tính được tất cả các 𝐴𝑥𝑣 ở (1.42) là MNlogN.

Tiếp theo, ứng với mỗi v = 0, 1, 2,…, N–1, vế phải của (1.42) chính là DFT

của gv(x) = Axv. Do đó, chi phí để tính được tất cả các F(u, v) với u = 0, 1,…, M-1

là MlogM. Do đó chi phí tính tất cả F(u, v) của (1.42) với u = 0, 1, .., M-1 và v =

0,1,…, N-1 là MNlogM. Tóm lại, chi phí tính tất cả các F(u,v) từ f là

𝑀𝑁𝑙𝑜𝑔𝑁 +𝑀𝑁𝑙𝑜𝑔𝑀 = 𝑀𝑁𝑙𝑜𝑔(𝑀𝑁)

Thuật toán tính DFT ngược hoàn toàn tương tự DFT thuận, tức là cũng có độ

phức tạp là 𝑀𝑁𝑙𝑜𝑔(𝑀𝑁). Như vậy FFT có độ phức tạp là 𝑀𝑁𝑙𝑜𝑔(𝑀𝑁). Rõ ràng

Page 31: Tìm hiểu về các phép lọc số, khảo sát và xây dựng thử nghiệm các ứng dụng của phép lọc trên miền tần số với xử lý ảnh màu

31 [email protected]

đây là chi phí thấp hơn nhiều so với chi phí của phương pháp xử lý ảnh bằng khai

triển Fourier hai chiều .

2. Ứng dụng của phép lọc trên miền tần số

Trong mục này, ta sẽ áp dụng những cơ sở lý thuyết đã lập được ở các mục

trên vào bài toán xử lý ảnh cụ thể. Ứng dụng cụ thể mà ta xét ở đây là tăng cường

ảnh. Đó là việc làm cho ảnh trở lên tốt hơn, đẹp hơn, hay rõ hơn.Với một ảnh nhòe,

ta luôn muốn làm cho nó rõ hơn. Khi đó, tã sẽ lọc lấy những sóng có tần số cao

trong miền tần số, vì đây là những sóng thể hiện sự thay đổi đột ngột về độ xám của

ảnh. Lúc đó, hàm lọc tần số cao (Highpass filter ) sẽ được dùng.

Tuy nhiên, nhiều khi không phải ảnh nào cũng rõ nét cũng đẹp, chẳng hạn

những vật thể mà bản thân nó đã xấu thì ảnh chụp của nó không thể đẹp được.

Thậm chí ảnh chụp càng rõ nét thì càng xấu, vì cái xấu đã được soi rất rõ, rất kỹ. Do

đó, đối với những ảnh như vậy, ta không mong muốn nó rõ thêm nữa, mà muốn nó

mờ đi để che bớt khuyết điểm của vật trong ảnh. Lúc này, ta chỉ giữ lại những sóng

với tần số thấp trong miền tần số (Lowpass filter), bỏ đi các sóng có tần số cao thể

hiện độ sắc nét của ảnh. Với ta, các sóng này giờ đây chỉ đóng vai trò nhiễu mà thôi.

Hơn nữa, ta biết rằng việc muốn làm trơn ảnh hay làm sắc ảnh chỉ khác nhau

ở cách chọn hàm lọc. Do đó, đối với bài toán xử lý ảnh cụ thể, hàm lọc phải được

xác định một cách tường minh. Đó chính là nguyên nhân ra đời nhiều phương pháp

chọn hàm lọc mà ta sẽ nêu dưới đây. Trước hết, ta nhắc lại quy trình xử lý ảnh trên

miền tần số:

Lọc sóng trên miền tần số gồm các bước:

1. Nhân ảnh f với (−1)𝑥+𝑦 để tịnh tiến gốc tọa độ của biến đổi vào giữa ảnh.

2. Tính F(u, v) từ ảnh nhận được ở bước 1.

3. Nhân hàm lọc H(u, v) vào hàm F(u, v).

4. Tính Fourier ngược của hàm nhận được ở bước 3.

5. Lấy phần thực của hàm nhận được ở bước 4.

6. Tịnh tiến ảnh lại bằng cách nhân (−1)𝑥+𝑦

Nếu f(x, y) biểu diễn ảnh nhập vào, và F(u,v) là biển đổi Fourier của nó. Khi

đó miền tần số sau khi lọc là

G(u, v) = H(u, v)F(u, v) (2.1)

Page 32: Tìm hiểu về các phép lọc số, khảo sát và xây dựng thử nghiệm các ứng dụng của phép lọc trên miền tần số với xử lý ảnh màu

32 [email protected]

Để có được ảnh sau khi lọc, ta chỉ cần lấy Fourier ngược của hàm G(u, v)

Ảnh đã lọc = ℑ−1[𝐺(𝑢, 𝑣)] (2.2)

Có hai kiểu lọc cơ bản là lọc tần số thấp, và lọc tần số cao. Lọc tần số thấp

nghĩa là làm suy giảm các tần số cao trong khi đó giữ lại các thành phần có tần số

thấp. Ngược lại, lọc tần số cao lại giữ lại các tần số cao và làm yếu đi các tần số

thấp.

2.1. Làm trơn ảnh

Các tần số thấp trong biến đổi Fourier đóng góp lớn cho mức xám tại những

vùng trơn của ảnh. Do đó để làm trơn ảnh ta phải làm mờ đi các đường biên, tức là

phải giảm đi các tần số cao. Vì vậy ta phải sử dụng kiểu lọc tần số thấp. Có 3 loại

lọc tần số thấp hay được dùng là Ideal, Butterworth, và Gauss.

2.1.1. Lọc tần số thấp Ideal

Đây là cách lọc đơn giản nhất, ta chỉ cần bỏ đi các thành phần tần số trong

biến đổi Fourier mà khoảng cách tới tâm lớn hơn một 𝐷0 xác định. Ta gọi đây là lọc

Ideal tấn số thấp (Ideal Lowpass filter, hay viết tắt là ILPF)

𝐻(𝑢, 𝑣) = {1 𝑛ế𝑢𝐷(𝑢, 𝑣) ≤ 𝐷00 𝑛ế𝑢𝐷(𝑢, 𝑣) > 𝐷0

(2.3)

Trong đó 𝐷0 là số không âm, và 𝐷(𝑢, 𝑣)là khoảng cách từ điểm (𝑢, 𝑣) tới tâm.

Nếu ảnh kích thước 𝑀 ×𝑁 thì tâm của miền tần số là(𝑢, 𝑣) = (𝑀

2,𝑁

2), vậy nên

𝐷(𝑢, 𝑣) = [(𝑢 − 𝑀/2)2 + (𝑣 − 𝑁/2)2]1/2 (2.4)

Tuy nhiên, con số 𝐷0 không mang đầy đủ ý nghĩa, vì vậy ta cần một tiêu

chuẩn để xác định 𝐷0. Để làm như vây, ta xác định lượng năng lượng trong miền

đang xét đối với năng lượng tổng cộng 𝑃𝑇

𝑃𝑇 = ∑∑𝑃(𝑢, 𝑣)

𝑁−1

𝑣=0

𝑀−1

𝑢=0

(2.5)

Page 33: Tìm hiểu về các phép lọc số, khảo sát và xây dựng thử nghiệm các ứng dụng của phép lọc trên miền tần số với xử lý ảnh màu

33 [email protected]

Hình 7: (a) Văn bản bị rỗ. (b)Văn bản sau khi lọc tần số thấp

Tỷ lệ phần trăm năng lượng trong đường tròn

𝛼 = 100 [∑∑𝑃(𝑢, 𝑣)/𝑃𝑇𝑣𝑢

] (2.6)

với (u,v) chạy trong miền đó.

Trên hình 7a ta có một văn bản bị lỗi, các ký tự bị vỡ tạo khoảng trống, tuy

mắt chúng ta có thể dễ dàng đọc được các kí tự này nhưng máy tính thì việc nhận

dạng các ký tự này khá khó khăn. Các để khắc phục các khe hở nhỏ này là làm nhòa

ảnh để lấp các khe hở (Hình 7b). Hình 8(a) là một bức ảnh kích thước 500×500 và

phổ Fourier của nó là Hình 8(b). Các vòng tròn bán kính lần lượt là 5, 15, 30, 80, và

230, bao quanh vùng chứa năng lượng tương ứng là α= 92.0, 94.6, 96.4, 98, và

99.5%.

Page 34: Tìm hiểu về các phép lọc số, khảo sát và xây dựng thử nghiệm các ứng dụng của phép lọc trên miền tần số với xử lý ảnh màu

34 [email protected]

Hình 8: (a) Ảnh với kích thước 500x500. (b) Phổ Fourier của ảnh.

Các vòng tròn với bán kính lần lượt la 5, 15, 30, 80, va 230

2.1.2. Lọc tần số thấp Butterworth

Hàm lọc Butterworth tần số thấp (Butterwoth Lowpass Filter, hay BLPF) bậc

n với 𝐷0 cho trước được định nghĩa như sau

𝐻(𝑢, 𝑣) =1

1 + [𝐷(𝑢, 𝑣)/𝐷0]2𝑛 (2.7)

Hình 9:Ham lọc BLPF

Với 𝐷(𝑢, 𝑣)được định nghĩa như (2.4). Không giống như ILPF là cắt bỏ hoàn

toàn các thành phần tần số cao, BLPF chỉ làm giảm cường độ của các thành phần

Page 35: Tìm hiểu về các phép lọc số, khảo sát và xây dựng thử nghiệm các ứng dụng của phép lọc trên miền tần số với xử lý ảnh màu

35 [email protected]

tần số, và tần số càng cao thì cường độ càng bị giảm đi nhiều. Ví dụ với D(u, v) = 0

thì 𝐻(𝑢, 𝑣) = 1, nghĩa là thành phần tần số tại tâm không đổi, trong khi 𝐻(𝑢, 𝑣) =

0.5 khi 𝐷(𝑢, 𝑣) = 𝐷0 thì cường độ tại đây giảm đi 50%.

2.1.3. Lọc tần số thấp Gauss

Hình 10: Ham lọc GLPF

Hàm lọc Gauss (Gauss Lowpass Filter, hay GLPF) được định nghĩa như sau

𝐻(𝑢, 𝑣) = 𝑒−𝐷2(𝑢,𝑣)/2𝐷0

2 (3.8)

𝐷0 cho thấy sự trải rộng của đường cong Gauss, nghĩa là khi 𝐷0 càng nhỏ thì

hàm lọc 𝐻 làm giảm đi các tần số cao mạnh hơn, và ngược lại. Khi 𝐷(𝑢, 𝑣) = 𝐷0 thì

cường độ tại đây sẽ giảm còn 0.607 so với ban đầu (Hình 10).

2.2. Làm sắc ảnh

Do các cạnh hay các biên trên vật thể được thể hiện qua các thành phần tần số

cao nên ta sử dụng kiểu lọc tần số cao để làm sắc ảnh. Do lọc tần số cao là trái

ngược với lọc tần số thấp nên hàm lọc tần số cao có thẻ được tình nhờ quan hệ

𝐻ℎ𝑝(𝑢, 𝑣) = 1 − 𝐻𝑙𝑝(𝑢, 𝑣) (2.9)

Trong đó 𝐻𝑙𝑝(𝑢, 𝑣) là lọc tần số thấp. Phần này ta cũng sẽ nói đến ba loại lọc

tần số cao : Ideal, Butterworth, và Gauss.

Page 36: Tìm hiểu về các phép lọc số, khảo sát và xây dựng thử nghiệm các ứng dụng của phép lọc trên miền tần số với xử lý ảnh màu

36 [email protected]

2.2.1. Lọc tần số cao Ideal

Hàm lọc tần số cáo Ideal (Ideal Hightpass Filter, hay IHPF) được định nghĩa

như sau

𝐻(𝑢, 𝑣) = {0 𝑛ế𝑢𝐷(𝑢, 𝑣) ≤ 𝐷01 𝑛ế𝑢𝐷(𝑢, 𝑣) > 𝐷0

(2.10)

Hình 11: Hàm lọc IHPF

2.2.2. Lọc tần số cao Butterworth

Hàm lọc tần số cao Butterworth (Butterworth Highpass Filter, hay BHPF)

được định nghĩa như sau:

𝐻(𝑢, 𝑣) =1

1 + [𝐷0/𝐷(𝑢, 𝑣)]2𝑛 (3.11)

Hình 12: Ham lọc BHPF

Page 37: Tìm hiểu về các phép lọc số, khảo sát và xây dựng thử nghiệm các ứng dụng của phép lọc trên miền tần số với xử lý ảnh màu

37 [email protected]

2.2.3. Bộ lọc tần số cao Gauss

Hàm lọc tần số Gauss (Gauss Highpass Filter, hay GHPF) được định nghĩa

như sau

𝐻(𝑢, 𝑣) = 𝑒−𝐷2(𝑢,𝑣)/2𝐷0

2 (3.12)

Hình 13:Ham lọc GHPF

3. Xây dựng thử nghiệm các ứng dụng của phép lọc trên miền tần số

3.1. Giao diện

Page 38: Tìm hiểu về các phép lọc số, khảo sát và xây dựng thử nghiệm các ứng dụng của phép lọc trên miền tần số với xử lý ảnh màu

38 [email protected]

3.2. Cài đặt

Biểu đồ lớp

Biểu đồ Use Case

Page 39: Tìm hiểu về các phép lọc số, khảo sát và xây dựng thử nghiệm các ứng dụng của phép lọc trên miền tần số với xử lý ảnh màu

39 [email protected]

Sơ đồ xử lý ảnh màu

3.3. Chức năng và sử dụng

Chức năng

- Xử lý ảnh màu

- Lọc nhiễu ảnh

- Làm trơn ảnh

- Làm sắc ảnh

- Lưu ảnh đã được lọc

Sử dụng

- Click vào button Select Image hay File/Select Image để lựa chọn ảnh

- Lựa chọn một bộ lọc bất kì:

+ Bộ lọc thông thấp (làm trơn ảnh): ILPF, BLPF, GLPF.

+ Bộ lọc thông cao (làm sắc ảnh): IHPF, BHPF, GHPF.

Page 40: Tìm hiểu về các phép lọc số, khảo sát và xây dựng thử nghiệm các ứng dụng của phép lọc trên miền tần số với xử lý ảnh màu

40 [email protected]

- Kéo thanh Scroll D0 hay lựa chọn bậc “Level” để thay đổi thông số bộ

lọc và quan sát sự thay đổi của ảnh sau khi lọc.

- File/Save Image để lưu lại ảnh đã lọc

3.4. Thử nghiệm ứng dụng

3.4.1. Bộ lọc thông thấp Ideal

- Ảnh gốc với kích thước 458x391 pixel

- Ảnh được lọc tương ứng với D0 = 20, 50, 100

3.4.2. Bộ lọc thông thấp Butterworth

- Ảnh gốc với kích thước 458x391 pixel

- Ảnh được lọc tương ứng với D0 = 20, 50, 100

- Bậc n = 2

Page 41: Tìm hiểu về các phép lọc số, khảo sát và xây dựng thử nghiệm các ứng dụng của phép lọc trên miền tần số với xử lý ảnh màu

41 [email protected]

Với ảnh văn bản bị rỗ: D0 = 50, n = 2

3.4.3. Bộ lọc tần số thấp Gauss

- Ảnh gốc với kích thước 458x391 pixel

- Ảnh được lọc tương ứng với D0 = 20, 50, 100

Page 42: Tìm hiểu về các phép lọc số, khảo sát và xây dựng thử nghiệm các ứng dụng của phép lọc trên miền tần số với xử lý ảnh màu

42 [email protected]

3.4.4. Bộ lọc thông cao Ideal

- Ảnh gốc với kích thước 295x249 pixel

- Ảnh được lọc tương ứng với D0 = 5, 15, 25

Page 43: Tìm hiểu về các phép lọc số, khảo sát và xây dựng thử nghiệm các ứng dụng của phép lọc trên miền tần số với xử lý ảnh màu

43 [email protected]

3.4.5. Bộ lọc thông cao Butterworth

- Ảnh gốc với kích thước 295x249 pixel

- Ảnh được lọc tương ứng với D0 = 5, 15, 25

- n = 2

Page 44: Tìm hiểu về các phép lọc số, khảo sát và xây dựng thử nghiệm các ứng dụng của phép lọc trên miền tần số với xử lý ảnh màu

44 [email protected]

3.4.6. Bộ lọc thông cao Gauss

- Ảnh gốc với kích thước 295x249 pixel

- Ảnh được lọc tương ứng với D0 = 5, 15, 25

Page 45: Tìm hiểu về các phép lọc số, khảo sát và xây dựng thử nghiệm các ứng dụng của phép lọc trên miền tần số với xử lý ảnh màu

45 [email protected]

IV. KẾT LUẬN

Thông qua việc tìm hiểu và nghiên cứu đề tài này giúp chúng tôi có cái nhìn

toàn diện hơn về lĩnh vực xử lý ảnh, đặc biệt là những phương pháp cải thiện chất

lượng ảnh thông qua các phép lọc ảnh trên miền không gian và miền tần số. Do thời

gian có hạn nên đề tài không tránh khỏi những sai sót, mong cô góp ý, đánh giá

giúp chúng tôi bổ sung hoàn thiện đề tài.

Page 46: Tìm hiểu về các phép lọc số, khảo sát và xây dựng thử nghiệm các ứng dụng của phép lọc trên miền tần số với xử lý ảnh màu

46 [email protected]

PHÂN CHIA CÔNG VIỆC

1. Thông tin về sinh viên

- Họ và tên: Nguyễn Khánh Hưng

Điện thoại: 01668831690 Email: [email protected]

Lớp: TTM-K53

- Nguyễn Lê Hoài Nam

Lớp: TTM-K53

- Phan Văn Trường

Lớp: TTM-K53

Báo cáo thực hiện tại: Đại học Bách Khoa Hà Nội

Thời gian: 9/3/2011 – 22/4/2011

2. Nội dung bài tập lớn

- Tìm hiểu về các phép lọc số

- Khảo sát các ứng dụng của phép lọc trên miền tần số đối với ảnh màu

- Xây dựng thử nghiệm các ứng dụng của phép lọc trên miền tần số.

3. Nhiệm vụ cụ thể của bài tập lớn

- Phan Văn Trường: Tìm hiểu về các phép lọc số.

- Nguyễn Khánh Hưng: Khảo sát phương pháp lọc trên miền tần số, xây

dựng ứng dụng thử nghiệm, báo cáo.

- Nguyễn Lê hoài Nam: Khảo sát phương pháp lọc trên miền tần số, các

ứng dụng của phép lọc trên miền tần số.

Ha Nôi, ngay 9 tháng 3 năm 2011

Page 47: Tìm hiểu về các phép lọc số, khảo sát và xây dựng thử nghiệm các ứng dụng của phép lọc trên miền tần số với xử lý ảnh màu

47 [email protected]

TÀI LIỆU THAM KHẢO

- Digital Image Processing - 4th Edition - Pratt-Wiley Intersc

- Slide Xử lý ảnh – PGS.TS. Nguyễn Thị Hoàng Lan

- Slide Xử lý tín hiệu số - PGS.TS Trịnh Văn Loan

- Xử lý ảnh trên miền tần số - Phạm Ngọc Tuân, Nguyễn Quốc Thông,

Đặng Nguyễn Đăng Nguyên.

- http://en.wikipedia.org/wiki/Fourier_transform

- http://en.wikipedia.org/wiki/Discrete_Fourier_transform

- http://en.wikipedia.org/wiki/FFT

- http://www.codeproject.com/Articles/44166/2D-FFT-of-an-Image-in-C