Khôi phục ảnh

Một phần của tài liệu Khôi phục ảnh bằng biến đổi wavelet (Trang 29 - 40)

2.2.1 Giới thiệu

Khôi phục ảnh tập trung vào việc loại bỏ hay giảm thiểu sự biến dạng xảy ra trong quá trình thu nhận ảnh. Sự biến dạng ảnh có thể bao gồm : Nhiễu-là những sai khác trong giá trị của pixel, ảnh hưởng quang học : sự mở do việc chuyển động của camera…Ta có dạng tổng quát của ảnh bị biến dạng:

g(x,y) = f(x,y)*h(x,y) + n(x,y) (29) tương ứng trong miền tần số ta có :

G(i,j) = F(i,j).H(i,j) + N(i,j) (30)

2.2 Một số loại nhiễu

2.2.1 Nhiễu nhiễu muối tiêu - Salt and Pepper

Nhiễu muối tiêu đây là một ví dụ điển hình nhất của loại nhiễu xung, sẽ cho thấy rõ hơn tính chất “đột biến” của loại nhiễu này. Nhiễu này sinh ra do xảy ra sai số trong quá trình truyền dữ liệu. Những pixel đơn được nhận luân phiên mang giá trị zero hay giá trị maximum tạo ra hình muối tiêu trên ảnh.

Để cộng nhiễu “salt and pepper” vào một ảnh ta dùng câu lệnh sau: T= imnoise(image, ‘Salt & Pepper’)

Số lượng nhiễu được cộng vào mặc định là 10%. Ta có thể cung cấp thêm các thông số để thay đổi lượng nhiễu được cộng vào này.

3.2.2.2 Nhiễu Gaussian

Nhiễu này có được do bản chất rời rạc của bức xạ (hệ thống ghi ảnh bằng cách đếm các photon (lượng tử ánh sáng). Nhiễu xuất hiện khi có sự bức xạ đơn sắc nằm rải rác trên bề mặt ảnh, độ lởm chởm trên bề mặt tùy thuộc vào bước sóng của điểm ảnh. Do có sự giao thoa giữa các sóng ảnh nên làm xuất hiện những vết lốm đốm trên ảnh .

Chương 2: Phép biến đổi Wavelet Đồ án tốt nghiệp

================================================================== Nếu ta có ảnh I, nhiễu Gaussian là N thì ta có ảnh nhiễu là: I+N. Để tạo ra ảnh có nhiễu Gauss ta dùng câu lệnh:

T= imnoise(image, ‘gaussian’)

Giá trị mặc định của kì vọng và phương sai của nhiễu là 0 và 0.01

3.2.2.3 Nhiễu Speckle

Có thể được mô hình bằng cách nhân các giá trị ngẫu nhiên với giá trị của các pixel. Nhiễu speckle là vấn đề quan tâm chủ yếu trong các ứng dụng radar.

Trong matlab ảnh với nhiễu speckle được tính toán: I *(1+N) T= imnoise(image,’speckle’)

Nhiễu N có phân phối chuẩn với giá trị trung bình bằng 0. Có thể cung caaos thêm thông số để xác định giá trị kỳ vọng của N, giá trị mặc định của nó là 0.04.

3.2.3 Một số bộ lọc dùng khôi phục ảnh

3.2.3.1 B l c trung bình s h c -Arithmetic Mean filter:ộ ọ ố ọ

f= mn1 ∈∑ ( ) y x t s g , , (31)

Giá trị của ảnh được khôi phục tại tọa độ (x,y) đơn giản là trung bình số học của những pixel trong miền Sxy .

Bộ lọc trên được thực hiện trong IPT như sau : w = fspecial(„average ,[m,n])

f = imfilter(g,w)

3.2.3.2 Bộ lọc trung bình hình học ( Geometric Mean filter):

F= ( )      ∏ ∈sxy t s t s g , , , mn 1 (32) Mỗi giá trị pixel của ảnh phục hồi : là tích của những pixel trong miền S

Chương 2: Phép biến đổi Wavelet Đồ án tốt nghiệp

================================================================== xy , sau đó lấy lũy thừa 1/m/n. IPT không hỗ trợ hàm để tính toán trực tiếp bộ lọc này.

3.2.3.3 Bộ lọc trung bình hài ( Harmonic Mean filter)

F(x,y)= ( ) ∑ ∈Sxy t s g s t mn , , , 1 (33)

Bộ lọc này làm việc tốt với nhiễu Salt, nhưng lại không hiệu quả với nhiễu Pepper.

Chương 4: Tổng quan về Matlap Đồ án tốt nghiệp

==================================================================

Chương 4

TỔNG QUAN VỀ MATLAP

4.1 Giới thiệu chung về Matlab4.1.1 Giới thiệu 4.1.1 Giới thiệu

Matlab là một công cụ tính toán trong kỹ thuật, đặc biệt là các bài toán về ma trận. Matlab còn cung cấp các toolbox chuyên dụng để giải quyết những vấn đề cụ thể như xử lý ảnh, xử lý số tín hiệu, neuron, mô phỏng…

Matlab cung cấp Image Processing toobox, chuyên về xử lý ảnh. Có thể nói Matlab là một công cụ lợi hại giúp cho việc thực hiện các giải thuật xử lý ảnh nhanh chóng và dễ hiểu.

4.1.2 Sử dụng công cụ giúp đỡ

Đánh lệnh help ten_lenh để biết được cách sử dụng và công dụng của ten_lenh. Ví dụ: help convert

• Nếu không biết chính xác tên lệnh là gì, ta có thể dùng lệnh lookfor.

• Ví dụ: lookfor convert sẽ cho ta danh sách các lệnh có từ convert trong phần trợ giúp.

4.1.3 Hàm m-file

Hàm m-file là một chương trình con do chúng ta yêu cầu các đối số ngõ vào và có thể trả về đối số ngõ ra

Cú pháp: function[outputArgs]=function_name(inputArgs) Chú thích(đặt sau dấu %, chú thích sẽ hiện ra khi dùng lệnh help) Các lệnh, return; Phải lưu lại với tên giống tên hàm.

4.1.4 Vẽ hình trong Matlab

Matlab cung cấp nhiều hàm để biểu diễn đồ thị 2D và 3D. - plot: vẽ đồ thị 2D

Chương 4: Tổng quan về Matlap Đồ án tốt nghiệp

================================================================== - plot3: vẽ đồ thị 3D

- loglog: vẽ đồ thị các trục là logarit

- semilogx, semilogy: vẽ đồ thị với 1 trục là logarit - Sử dụng hàm figure để tạo nhiều cửa sổ hình vẽ

- Sử dụng lệnh subplot để vẽ nhiều hình trên một cửa sổ Hàm chú thích hình vẽ:

- title: Nhãn hình vẽ

- xlabel, ylabel,zlabel: nhãn các trục. - legend: thêm chú thích vào hình vẽ

4.2. Matlab GUI-Graphical User Interface4.2.1. Giới thiệu 4.2.1. Giới thiệu

- Gui-là giao diện bằng hình ảnh của chương trình

- Gui-bao gồm các nút nhấn, hộp liệt kê, thanh trượt, menu… chúng cung cấp cho người dùng sử dụng một môi trường làm việc thân thiện để họ tập trung vào các ứng dụng của chương trình hơn là đi tìm hiểu cách thức làm việc của chương trình đó

- Để mở công cụ tạo Gui : File-> New-> GUI

- Khi lưu giao diện vừa tạo, Matlab sẽ tạo ra hai file có cùng tên nhưng khác phần mở rộng:

- File có phần mở rộng .fig chứa nội dung của giao diện

- File có phần mở rộng .m chứa những đoạn mã liên quan đến giao diện Để thiết lập các thuộc tính ta có thể chọn mục “ Property Inspector” trên thanh công cụ hoặc right-click vào đối tượng và chọn mục “Inspector Properties”

- String property : dòng ký tự xuất hiện trên đối tượng. - Tag property : tên của đối tượng.

Khi click chuột vào 1 đối tượng, Matlab sẽ gọi hàm tương ứng với đối tượng đó.

Tên của hàm chính là tên của đối tượng cộng với “_Callback”.

4.2.2 Các hàm thường được sử dụng trong Gui

Chương 4: Tổng quan về Matlap Đồ án tốt nghiệp

================================================================== - Get : Truy xuất giá trị của thuộc tính của một đối tượng giao diện get(handles.EditBox, String )

Chương 5: Xây dựng ứng dụng khôi phục ảnh bằng biến đổi Wavelet Đồ án tốt nghiệp

==================================================================

Chương 5

XÂY DỰNG ỨNG DỤNG KHÔI PHỤC ẢNH BẰNG BIẾN ĐỔI WAVELET

5.1 Giao diện chính của chương trình

5.2 Nút “tải ảnh”

Chương 5: Xây dựng ứng dụng khôi phục ảnh bằng biến đổi Wavelet Đồ án tốt nghiệp

==================================================================

5.3 Nút “lưu ảnh”

Dùng để lưu ảnh sau khi xử lý vào thư mục cùng với ảnh ban đầu:

5.4. Nút “lam mo anh”

Dùng hàm cộng nhiễu, làm mờ ảnh để them nhiễu và làm mờ ảnh đã tải:

switch TypeNoise,

case 1,

noiseimage=imnoise(x,'salt & pepper',0.05);

case 2, noiseimage=imnoise(x,'gaussian',0,0.01); case 3, noiseimage=imnoise(x,'speckle',0.04); case 4, N=256; h = ones(4,4)/16; sigma=.10; Xf = fft2(x);

Chương 5: Xây dựng ứng dụng khôi phục ảnh bằng biến đổi Wavelet Đồ án tốt nghiệp ================================================================== Hf = fft2(h,N,N); noiseimage = real(ifft2(Hf.*Xf)) +sigma*randn(N,N); end

Ảnh sau khi làm mờ và thêm nhiễu:

5.5 Nút “Khoi phuc anh”

Sử dụng biến đổi wavelet áp dụng cho hai bộ lọc “Loc dao chieu” và “Loc wiener” để khử mờ cho ảnh, đồng thời sử dụng phương pháp ngưỡng giá trị để khử nhiễu cho ảnh.

Chương 5: Xây dựng ứng dụng khôi phục ảnh bằng biến đổi Wavelet Đồ án tốt nghiệp

==================================================================

5.6. Nút “Loai nhieu”

Dùng để lựa chọn các loại nhiễu thêm vào ảnh

5.7. Nút “Phương phap khoi phuc”

Khôi phục ảnh bằng biến đổi Wavelet Đồ án tốt nghiệp

==================================================================

KẾT LUẬN

1. Những nội dung đã đạt được

- Tìm hiểu cơ bản về ảnh và xử lý ảnh - Tìm hiểu về phép biến đổi Wavelet

- Tìm hiểu về khôi phục ảnh và các thuật toán khôi phục ảnh - Xây dựng được ứng dụng minh họa cho khôi phục ảnh 2. Hướng phát triển tiếp theo của đề tài

- Xây dựng ứng dụng cho khôi phục ảnh màu - Các loại ảnh đưa vào phong phú hơn

Khôi phục ảnh bằng biến đổi Wavelet Đồ án tốt nghiệp

==================================================================

TÀI LIỆU THAM KHẢO Tiếng việt

[1] ThS. Lương Xuân Phú - Xử lý ảnh số - Đại học Vinh 2009 [2] Phan Thanh Tạo - Giáo trình MATLAP - NXB Đà Nẵng 2004

[3] Học viện công nghệ bưu chính viễn thông- Xử lý ảnh- NXB Hà Nội- 2006

Tiếng Anh

[4] Rafael C. Gonzalez, Richard E. Woods – Digital Image Processing – Addison-Wesley Puslishing Company

Web [5] http://www.codeproject.com [6] http://www.pudn.com [7] http://registry.gimp.org [8] http://www.mathworks.com [9] http://amath.colorado.edu [10] http://www.mathworks.com/products/image/ [11] http://www.imageprocessingplace.com/

Một phần của tài liệu Khôi phục ảnh bằng biến đổi wavelet (Trang 29 - 40)