Khử mờ với giải thuật Lucy-Richardson

Một phần của tài liệu ĐỒ án tốt NGHIỆP MATLAB xử lý ẢNH ỨNG DỤNG TRÊN ô tô (Trang 45)

I. Xử lý mờ trong ảnh 1 Nguyên nhân của sự mờ

2. Các bộ lọc khôi phục ảnh mờ

2.3 Khử mờ với giải thuật Lucy-Richardson

Sử dụng hàm ‘deconvlucy’ để khử mờ một ảnh bằng cách sử dụng giải thuật Lucy-Richardson . Hàm này có thể được sử dụng hiệu quả khi biết được hàm PSF nhưng biết ít về nhiễu tác động phụ lên ảnh

- Hàm deconvlucy thi hành vài sự điều hợp tới giải thuật Lucy-Richardson . Sử dụng những điều hợp này ta có thể :

+ Giảm tác động của sự mở rộng nhiễu trên một ảnh khôi phục. + Giải thích được tính không đồng nhất của chất lượng ảnh . + Điều khiển camera đọc hết nhiễu nền .

GVHD : TS. LÊ THANH PHÚC Trang 46 - Sự mở rộng nhiễu là một vấn đề thường gặp của phương pháp giống cực đại ( maximum likelihood ) cố gắng lấp đầy dữ liệu gần nhất có thể . Sau một số vòng lặp , ảnh được khôi phục có thể có hình lốm đốm , đặc biệt với một đối tượng phẳng được quan sát tại tỉ số tín hiệu / nhiễu nhỏ . Những đốm này không đại diện cho bất kì một cấu trúc nào trong ảnh thực nhưng là giả tạo của việc làm khớp nhiễu trong ảnh quá gần .

- Để điều khiển sự mở rộng nhiễu , hàm ‘deconvlucy’ sử dụng một tham số gọi là DAMPAR . Tham số này chỉ ra mức ngưỡng cho độ lệch của ảnh kết quả so với ảnh gốc . Với các pixel mà lệch khỏi vùng lân cận của các giá trị gốc của chúng , vòng lặp bị treo .

- Hàm ‘deconvlucy’ sử dụng tham số vào READOUT để điều khiển camera đọc toàn bộ nhiễu . Giá trị của tham số này điển hình là tổng của nhiễu tổng cộng và nhiễu nền . Giá trị của tham số READOUT chỉ ra một độ lệch đảm bảo rằng tất cả các giá trị đều dương .

Ví dụ : Sử dụng hàm deconvlucy để khử mờ một ảnh

- Để minh hoạ, ví dụ này sử dụng hàm deconvlucy, nó mô phỏng một ảnh bị mờ và nhiễu bằng cách convolve một bộ lọc Gauss với một ảnh ( sử dụng hàm imfilter ) và sau đó thêm nhiễu Gauss ( sử dụng hàm imnoise ) .

a. Đọc một ảnh vào không gian làm việc . I = imread('board.tif');

GVHD : TS. LÊ THANH PHÚC Trang 47 b. Tạo hàm PSF để làm mờ ảnh

PSF = fspecial('gaussian',5,5);

c. Tạo mờ ảnh và thêm nhiễu vào ảnh Blurred = imfilter(I,PSF,'symmetric','conv'); V = .002;

BlurredNoisy = imnoise(Blurred,'gaussian',0,V);

GVHD : TS. LÊ THANH PHÚC Trang 48 d. Sử dụng hàm devconlucy để khôi phục ảnh gốc , chỉ ra hàm PSF được sử dụng để tạo mờ và giới hạn số vòng lặp tới 5 ( mặc định là 10 )

luc1 = deconvlucy(BlurredNoisy,PSF,5); figure; imshow(luc1);

GVHD : TS. LÊ THANH PHÚC Trang 49

Một phần của tài liệu ĐỒ án tốt NGHIỆP MATLAB xử lý ẢNH ỨNG DỤNG TRÊN ô tô (Trang 45)

Tải bản đầy đủ (PDF)

(96 trang)