Phương pháp phục hồi ảnh trong phần mềm matlab

41 74 1
Phương pháp phục hồi ảnh trong phần mềm matlab

Đ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

ĐẠI HỌC ĐÀ NẴNG TRƯỜNG ĐẠI HỌC SƯ PHẠM KHOA TOÁN - - PHẠM THỊ THÙY TRANG PHƯƠNG PHÁP PHỤC HỒI ẢNH TRONG PHẦN MỀM MATLAB NGÀNH: TOÁN ỨNG DỤNG KHÓA LUẬN TỐT NGHIỆP Giảng viên hướng dẫn: T.S Phạm Quý Mười Đà Nẵng, ngày 20 tháng năm 2019 LỜI MỞ ĐẦU Cùng với xu tự động hóa trí tuệ nhân tạo phát triển mạnh mẽ, bfi toán xử lý ảnh số ngày trở nên đa dạng, phong phú có ý nghĩa quan trọng ngành tự động hóa trí tuệ nhân tạo Xử lí ảnh có nhiều ứng dụng thực tế như: xử lí tín hiệu truyền hình, xử lí ảnh vệ tinh, xử lí ảnh y học, điều khiển robot, truyền thông thị giác, thực thi pháp luật, nhiều lĩnh vực khoa học công nghệ đại khác Khái niệm ảnh số trở nên thông dụng với hầu hết người xã hội việc thu nhận ảnh số thiết bị cá nhân hay chuyên dụng với việc đưa vào máy tính xử lý trở nên đơn giản Trong hồn cảnh đó, xử lý ảnh lĩnh vực quan tâm trở thành môn học sinh viên nhiều trường đại học nước Matlab cơng cụ tính tốn kỹ thuật, đặc biệt tốn ma trận Matlab cịn cung cấp toolboxes chuyên dụng để giải vấn đề cụ thể xử lý ảnh, xử lý số tín hiệu, neuron, mơ phỏng… Matlab cung cấp “Image Processing toobox” chuyên xử lý ảnh Có thể nói Matlab cơng cụ thụ lí giúp cho việc thực giải thuật xử lý ảnh nhanh chóng dễ hiểu Chính vậy, em lựa chọn đề tài khóa luận là: “ PHƯƠNG PHÁP PHỤC HỒI ẢNH TRONG PHẦN MỀM MATLAB” Đề tài vào tìm hiểu tổng quan toán phục hồi ảnh phương pháp xử lí MATLAB để hiểu rõ thêm tiềm hấp dẫn mà phương pháp mang lại Em xin chân thành cảm ơn thầy khoa Tốn tạo điều kiện cho em để hồn thành khóa luận, đặc biệt thầy Phạm Q Mười, người trực tiếp hướng dẫn tận tình, giúp đỡ bảo cho em suốt trình làm khóa luận MỤC LỤC : CHƯƠNG I : KIẾN THỨC CƠ BẢN VỀ ẢNH SỐ Các khái niệm 1.1 Định nghĩa ảnh kĩ thuật số phục hồi ảnh 1.2 Xử lý ảnh kĩ thuật số 1.3 Vì cần xử lý hình ảnh 1.4 Độ phân giải hình ảnh 1.5 Độ tương phản hình ảnh 1.6 Mẫu bị nhiễu 1.7 Ước lượng hàm suy giảm 1.7.1 Ước lượng quan sát hình ảnh 1.7.2 Ước lượng thí nghiệm .7 1.7.3 Ước lượng mơ hình 1.8 Định nghĩa chuỗi Fourier phép biến đổi chuỗi Fourier 1.8.1 Định nghĩa 1.8.2 Phép biến đổi Fourier 1.8.3 Phép biến đổi DCT .9 1.8.4 Chuỗi Fourier Matlab .10 1.8.5 Ý nghĩa chuỗi Fourier 12 1.9 Một số hàm Matlab phục hồi ảnh 12 1.9.1 Hàm Matlab lọc thống kê cấp bậc .12 1.9.2 Hàm Matlab lọc ngược 12 1.10 Một số kiểu ảnh Matlab .13 1.10.1 Ảnh định số (Indexed Images) 13 1.10.2 Ảnh cường độ (Intensity Images) 13 1.10.3 Ảnh nhị phân (Binary Images) .13 1.10.4 Ảnh RGB (RGB Images) .13 1.11 Những phép biến đổi hình học .14 1.11.1 Phép nội suy ảnh 14 1.11.2 Thay đổi kích thước ảnh .14 1.11.3 Phép quay ảnh 15 1.11.4 Trích xuất ảnh 16 1.11.5 Thực phép biến đổi hình học tổng quát 16 Mơ hình tốn cho tốn phục hồi ảnh 22 Một số hàm nhiễu cách thêm nhiễu vào ảnh 22 3.1 Hàm nhiễu Gauss .22 3.2 Hàm nhiễu Salt Pepper 23 3.3 Hàm nhiễu Speckle 24 3.4 Hàm nhiễu Poisson 24 3.5 Hàm nhiễu Rayleigh 25 3.6 Hàm nhiễu Erlang(Gamma) 25 3.7 Hàm nhiễu mũ (Exponential) .26 3.8 Hàm nhiễu (uniform) 26 CHƯƠNG II : MỘT SỐ PHƯƠNG PHÁP GIẢI BÀI TỐN PHỤC HỒI ẢNH Bài tốn phục hồi ảnh 26 Một số phương pháp giải ví dụ 26 2.1 Phương pháp lọc trung bình 26 2.1.1 Kỹ thuật lấy giá trị trung bình số học .27 2.1.2 Kỹ thuật lấy giá trị trung bình hình học 28 2.1.3 Kỹ thuật trung bình điều hịa 29 2.2 Phương pháp Lọc thống kê cấp bậc .31 2.2.1 Hàm lọc trung vị .31 2.2.2 Hàm lọc Max Min .32 2.2.3 Hàm lọc điểm 33 2.3 Phương pháp lọc tần số 35 2.3.1 Phương pháp lọc chắn dải 35 2.3.2 Phương pháp lọc thông dải .35 2.3.3 Phương pháp lọc cắt đột ngột 35 2.4 Phương pháp lọc ngược 36 2.5 Phương pháp lọc sai số trung bình bình phương cực tiểu (Wiener) 38 KẾT LUẬN TÀI LIỆU THAM KHẢO CHƯƠNG I : KIẾN THỨC CƠ BẢN VỀ ẢNH SỐ Trong chương này, chúng tơi trình bày số khái niệm, kiểu ảnh ảnh kĩ thuật số số phép biến đổi, hàm Matlab nhằm phục vụ cho việc nghiên cứu tốn phục hồi ảnh Để có kiến thức đầy đủ khái niệm, phép biến đổi hàm Matlab, người đọc tham khảo tài liệu [2], [4], [5] Các khái niệm 1.1 Định nghĩa ảnh kĩ thuật số phục hồi ảnh Ảnh kĩ thuật số biểu diễn ảnh thực hai chiều tập hữu hạn giá trị gọi phần tử điểm ảnh Phục hồi ảnh nhằm khôi phục lại ảnh bị hỏng, nhòe, mờ 1.2 Xử lý ảnh kĩ thuật số Xử lý ảnh kĩ thuật số tập trung vào mảng chính: Cải thiện thơng tin hình ảnh cho diễn dịch người Xử lý liệu hình ảnh cho lưu trữ, truyền biểu diễn tự điều khiển máy 1.3 Vì cần xử lý hình ảnh Trong dạng truyền thơng bản: lời nói, văn bản, hình ảnh, âm … hình ảnh dạng truyền tải thơng tin mạnh mẽ Những hình ảnh thu nhận lại cảm biến hinh ảnh thường có sai lệch mát thông tin định Do đó, mong muốn đưa hình ảnh vào máy tính để thực mục đích khác như: phân tích ảnh, phục hồi ảnh… Để máy tính hiểu phân tích ảnh ảnh cần mã hóa biểu diễn dạng số gọi ảnh số Việc xử lý ảnh máy tính nhằm mục đích phân tích ảnh phục hồi thơng tin bị sai lệch q trình thu nhận ảnh - Ảnh ban đầu Xử lý ảnh Ảnh "tốt hơn" Kết luận Hình 1: Quá trình xử lý ảnh 1.4 Độ phân giải hình ảnh Khái niệm “Resolution” – độ phân giải lượng thông tin chứa đựng tập ảnh kĩ thuật số hiển thị thiết bị in ra,thông thường đo pixel Độ phân giải cao việc hiển thị ảnh mượt mà chi tiết Vì vậy, ảnh có độ phân giải cao có nhiều pixel mà mắt người khơng thể nhìn thấy Pixel hay Megapixel khối màu đơn vị tạo nên ảnh kĩ thuật số 1.5 Độ tương phản hình ảnh Độ tương phản biểu diễn thay đổi độ sáng đối tượng so với Nói cách khác, độ tương phản độ điểm ảnh hay vùng ảnh so với Ví dụ thơng số độ tương phản: 1000:1 hay 3000:1,… Có nghĩa điểm ảnh sáng gấp 1000 lần hay 3000 lần lúc điểm ảnh mức tối 1.6 Mẫu bị nhiễu Nguyên nhân nhiễu ảnh kĩ thuật số trình thu nhận ảnh ( việc số hóa ) đường truyền Chất lượng cảm biến hình ảnh bị ảnh hưởng đa dạng nhân tố, chẳng hạn điều kiện mơi trường q trình thu nhận ảnh, chất lượng phận cảm biến Ví dụ, thu nhận ảnh với CDD camera, mức sáng cảm biến nhiệt độ nhân tố gây nhiều lượng nhiễu ảnh thu Ảnh bị hỏng đường truyền chủ yếu nhiễu kênh sử dụng đường truyền Chẳng hạn, ảnh truyền sử dụng mạng lưới vô tuyến bị hỏng ánh sáng nhiễu loạn khơng khí 1.7 Ước lượng hàm suy giảm Có cách để ước lượng hàm suy giảm việc phục hồi ảnh: (1) Quan sát đối tượng (2) Tiến hành thí nghiệm (3) Mơ hình tốn học Các phương pháp trình bày cụ thể phần Quá trình phục hồi ảnh sử dụng hàm suy giảm ước lượng theo số cách gọi giải mã mù, thực tế hàm suy giảm biết đến hoàn tồn 1.7.1 Ước lượng quan sát hình ảnh Giả sử có ảnh bị suy giảm mà hàm suy giảm H Một cách để ước lượng hàm tập hợp thông tin từ ảnh Ví dụ, Nếu ảnh bị mờ, nhìn phần nhỏ ảnh chứa cấu tạo đơn giản, chẳng hạn phần đối tượng phần Để giảm hiệu ứng nhiễu quan sát, cần tìm kiếm khu vực có nội dung tín hiệu mạnh Sử dụng mức xám đối tượng hình xung quanh, dựng ảnh bị mờ có kích thước đặc trưng đối tượng quan sát quan sát tiểu cảnh Kí hiệu quan sát tiểu cảnh hàm dựng vùng tiểu cảnh (trong thực tế ước tính khu vực ảnh gốc) hàm ̂ Sau đó, giả sử hiệu ứng nhiễu khơng đáng kể lựa chọn khu vực có tín hiệu mạnh, điều biểu diễn dạng phương trình sau: ̂ Từ đặc trưng hàm này, suy hàm đầy đủ h(u,v) cách giả sử vị trí bất biến Ví dụ, giả sử biểu đồ xuyên tâm có hình dạng lọc chắn dải Butterworth đường thơng thấp Chúng ta sử dụng tất thơng tin để dựng hàm h(u,v) quy mô lớn, phải có mẫu giống 1.7.2 Ước lượng thí nghiệm Nếu thiết bị ảnh suy giảm có sẵn, ngun tắc ta cần uớc lượng xác hàm suy giảm Sau đó, trì phản ứng xung lực hàm suy giảm ảnh có xung (chấm sáng nhỏ) sử dụng hệ thống Chú ý rằng, tuyến tính, hệ thống khơng gian bất biến ln miêu tả hồn thiện phản ứng xung lực Xung lực mô chấm sáng, ánh sáng giảm hiệu ứng nhiễu Sau đó, cần nhắc lại phép biến đổi chuỗi Fourier xung lực số, cho phép phương trình sau: Với g(u,v) cho trước phép biến đổi chuỗi Fourier ảnh quan sát số mô tả độ lớn xung lực Hình ảnh sau làm rõ ví dụ: Ước lượng hàm suy giảm đặc tính xung lực Hình (1) xung lực chấm sáng Hình (2) ảnh bị suy giảm xung lực 1.7.3 Ước lượng mơ hình Mơ hình bị suy giảm tồn nhiều năm vật bên ảnh mờ cần phải phục hồi Trong số trường hợp, mơ hình bị mờ điều kiện mơi trường gây suy giảm Ví dụ, mẫu bị suy giảm đề xuất Hufnagel Stanley (1964) dựa tính chất vật lí khơng khí hỗn loạn Mẫu có hàm tương tự: Với k số phụ thuộc vào hỗn loạn khơng khí Và lũy thừa 5/6 làm cho phương trình có mẫu giống lọc thông thấp Gauss Thật lọc thơng thấp Gauss mơ hình nhẹ, có mẫu mờ Hình ảnh mơ ảnh mờ với giá trị k= 0.0025 (nhiễu loạn nghiêm trọng), k=0.001 (nhiễu loạn trung bình), k=0.00025 (nhiễu loạn thấp) Tất ảnh có size 480 480 pixels Ảnh gốc dược chụp từ NASA nhiễu loạn khơng khí mơ hình mô tả 1.8 Định nghĩa chuỗi Fourier phép biến đổi chuỗi Fourier 1.8.1 Định nghĩa Chuỗi Fourier (được đặt tên theo nhà toán học Joseph Fourier) hàm tuần hồn cách biểu diễn hàm dạng tổng hàm tuần hồn có dạng Chuỗi Fourier mở rộng trực giao tín hiệu tuần hồn với chu kì Tín hiệu tuần hồn với chu kì biểu diễn sau : ∑ Với gọi hệ số Fourier tín hiệu Hệ số tính sau : ∫ Loại chuỗi Fourier gọi chuỗi Fourier hàm mũ Tần số gọi tần số tín hiệu Sóng thứ n có tần số Nếu tín hiệu tuần hồn với giá trị thực tính chất liên hợp phức thỏa mãn Điều có nghĩa với * biểu thị liên hợp phức Ta tính hệ số âm cách lấy liên hợp phức hệ số dương Dựa theo kết này, ta thấy : | | | | 1.8.2 Phép biến đổi Fourier chiều Phép biến đổi Fourier biểu diễn ảnh dạng tổng lũy thừa phức thành phần biên độ, tần số, pha khác ảnh Nếu f(m,n) hàm hai biến không gian rời rạc m n, biến đổi Fourier hai chiều f(m,n) định nghĩa: ∑ ∑ Nếu f(m,n) biểu diễn độ sáng ảnh X vị trí pixel (m,n) F(w1,w2) biến đổi Fourier ảnh X Do liệu máy tính lưu trữ dạng rời rạc, cụ thể liệu ảnh tổ chức theo đơn vị pixel nên phép biến đổi Fourier rời rạc hóa thành biến đổi Fourier rời rạc (DFT) Giả sử hàm f(m,n) khác miền (0 m M-1,0 n N-1), phép biến đổi DFT thuận nghịch kích thước M x N định nghĩa sau: ∑∑ ( ) ( ) (0 m M-1,0 n N-1) ∑∑ ( ) ( ) (0 m M-1,0 n N-1) F(p,q) gọi hệ số biến đổi DFT Với ứng dụng xử lý ảnh, quan tâm đến hàm fft2 ifft2 Cú pháp: F=fft2(X,mrows,ncols) f=ifft2(F,mrows,ncols) Nếu ảnh ban đầu có kích thước nhỏ Matlab tự động thêm vào zero pixel trước biến đổi Sau thực biến đổi DFT fft2, thành phần DC nằm góc bên trái ảnh Ta dùng hàm fftshift để dịch thành phần DC trung tâm ảnh 1.8.3 Phép biến đổi DCT chiều Biến đổi DCT (Discrete Cosine Transform) biểu diễn ảnh dạng tổng cosine thành phần biên độ tần số khác ảnh Hầu hết thông tin ảnh tập trung vài hệ số biến đổi DCT, hệ số cịn lại chứa thơng tin Biến đổi DCT chiều ma trận A kích thước M x N là: ∑∑ (0 p M-1,0 q N-1)  ∑ ∑ (0 p M-1,0 q N-1) Phép biến đổi DCT thuận nghịch thực hàm dtc2 idtc2 Các hàm sử dụng giải thuật dựa theo FFT để tăng tốc độ tính toán Cú pháp: B=dtc2(A,M,N) A=idtc2(B,M,N) 1.8.4 Chuỗi Fourier Matlab Code Matlab: Thực phép biển đổi Fourier rời rạc chiều cho ảnh đơn giản: f = zeros(30,30); % Tao mot anh kich thuoc 30x30 f(5:24,13:17) = 1; subplot(1,4,1),imshow(f) % Hien thi anh ban dau title('Anh goc'); F = fft2(f); % Bien doi DFT voi kích thuoc 30x30 F2 = log(abs(F)); subplot(1,4,2),imshow(F2,[-1 5]); title('Anh bien doi 30x30'); colormap(jet); colorbar % Hien thi anh bien doi F = fft2(f,256,256); % Bien doi DFT voi kich thuoc 256x256 subplot(1,4,3),imshow(log(abs(F)),[-1 5]); colormap(jet); colorbar % Hien thi anh title('Anh bien doi 256x256'); F2 = fftshift(F); % Chuyen phan DC ve trung tam subplot(1,4,4),imshow(log(abs(F2)),[-1 5]); colormap(jet); colorbar % Hien thi anh title('Su dung fftshift'); 10 2.1.1 Kỹ thuật lấy giá trị trung bình số học f(x,y) = ∑ ma trận có tâm (x,y) có số hàng m, số cột n Giá trị ảnh khôi phục tọa độ (x,y) đơn giản trung bình số học pixel miền Sxy Bộ lọc thực IPT sau : w = fspecial(“average”,[m,n]) f = imfilter(g,w) Code trung bình số học: %Mã Code Matlab cua ham loc trung binh so hoc: I=imread('vi sao.jpg'); I=rgb2gray(I); [m,n] = size(I); G = I + 70; figure imagesc(G);colormap(gray); %Go nhieu tu anh bi nhieu G G1=zeros(m+2,n+2); G1(2:m+1,2:n+1) = G; %Xu li cac diem anh bien bang cach lap lai gia tri bien G1(2:m+1,1) = G(:,1); G1(2:m+1,end) = G(:,end); G1(1,2:n+1) = G(1,:); G1(end,2:n+1) = G(end,:); G1(1,1)=G(1,1); G1(1,end)=G(1,end); G1(end,1)=G(end,1); G1(end,end)=G(end,end); f1 = G1;%f1 la f-hat %ap dung ki thuat lay trung binh so hoc voi Sxy co 3*3 for i = 2:m+1 for j = 2:n+1 f1(i,j) = (G1(i-1,j-1) + G1(i-1,j) + G1(i-1,j+1) + G1(i,j-1) + G1(i,j) + G1(i,j+1) + G1(i+1,j-1) + G1(i+1,j) + G1(i+1,j+1))/9; end; end; f1 = f1(2:m+1,2:n+1); figure imagesc(f1),colormap(gray); 27 Hình ảnh trước xử lý Hình ảnh sau xử lý 2.1.2 Kỹ thuật lấy giá trị trung bình hình học g(x,y) → f(x,y) = (∏ Mỗi giá trị pixel ảnh phục hồi: tích pixel miền Sxy , sau lấy lũy thừa 1/m.n IPT khơng hỗ trợ hàm để tính tốn trực tiếp lọc Code trung bình hình học: G=imread('vi sao.jpg'); G=rgb2gray(G); [m,n] = size(G); figure imagesc(G);colormap(gray); %Go nhieu tu nh bi nhieu G G1=zeros(m+2,n+2); G1(2:m+1,2:n+1)=G; %Xu li cac diem anh bien bang cach lap lai gia tri bien G1(2:m+1,1)=G(:,1); G1(2:m+1,end)=G(:,end); G1(1,2:n+1)= G(1,:); G1(end,2:n+1)=G(end,:); G1(1,1)=G(1,1); G1(1,end)=G(1,end); G1(end,1)=G(end,1); G1(end,end)=G(end,end); f1 = G1;%f1 la f-hat %ap dung ki thuat lay trung binh hinh hoc voi Sxy co 3*3 for i = 2:m+1 for j = 2:n+1 28 f1(i,j) = (G1(i-1,j-1)*G1(i-1,j)*G1(i-1,j+1)* G1(i,j-1)*G1(i,j)*G1(i,j+1) * G1(i+1,j-1)*G1(i+1,j)*G1(i+1,j+1))^(1/9); end; end; f1 = f1(2:m+1,2:n+1); figure imagesc(f1),colormap(gray); Hình ảnh trước xử lý Hình ảnh sau xử lý 2.1.3 Kỹ thuật trung bình điều hịa ̂ ∑ Bộ lọc hàm điều hòa làm việc tốt với nhiễu Salt khơng tốt với nhiễu Pepper Nó xử lí tốt loại nhiễu khác nhiễu Gauss Code trung bình điều hịa: %Mã Code Matlab cua ham loc trung binh dieu hoa: I=imread('vi sao.jpg'); I=rgb2gray(I); [m,n] = size(I); G = I + 70; figure imagesc(G);colormap(gray); %Go nhieu tu anh bi nhieu G G1=zeros(m+2,n+2); G1(2:m+1,2:n+1) = G; %Xu li cac diem anh bien bang cach lap lai gia tri bien G1(2:m+1,1) = G(:,1); G1(2:m+1,end) = G(:,end); 29 G1(1,2:n+1) = G(1,:); G1(end,2:n+1) = G(end,:); G1(1,1)=G(1,1); G1(1,end)=G(1,end); G1(end,1)=G(end,1); G1(end,end)=G(end,end); f1 = G1;%f1 la f-hat %ap dung ki thuat lay trung binh dieu hoa voi Sxy co 3*3 for i = 2:m+1 for j = 2:n+1 f1(i,j) = 9/(1/G1(i-1,j-1) + 1/G1(i-1,j) + 1/G1(i-1,j+1) + 1/G1(i,j-1) + 1/G1(i,j) + 1/G1(i,j+1) + 1/G1(i+1,j-1) + 1/G1(i+1,j) + 1/G1(i+1,j+1)); end; end; f1 = f1(2:m+1,2:n+1); figure imagesc(f1),colormap(gray); Hình ảnh trước xử lý Hình ảnh sau xử lý Nhận xét chung: Lọc trung bình số học, hình học điều hịa q trình điểm ảnh có giá trị trung bình điểm ảnh lân cận xác định lọc Do ảnh sau xử lý trở nên mượt hơn, giảm độ sắc nét so với ảnh gốc Kết thành phần nhiễu ngẫu nhiên, thường có mức xám khác biệt với vùng lân cận loại bỏ Tuy nhiên hạn chế dễ thấy tiến hành làm mượt ảnh vị trí biên (chi tiết sử dụng nhiều xử lý ảnh), nơi có thay đổi nhanh chóng mức xám, lại bị làm mờ ảnh hưởng đến bước xử lý ảnh Tuy nhiên, trường hợp dễ dàng nhận 30 thấy chi tiết nhỏ gần bị loại khỏi ảnh, dễ dàng lấy thành phần có kích thước lớn 2.2 Phương pháp Lọc thống kê cấp bậc 2.2.1 Hàm lọc trung vị f(x,y)= Bộ lọc thay giá trị pixel trị số trung bình giá trị mức xám miền lân cận pixel xác định Sxy Các lọc trung vị cấp lọc trung bình chỗ giữ độ nét tần số cao loại bỏ nhiễu [ Được thực thông qua hàm: Bộ lọc trung vị sử dụng hiệu trường hợp có giá trị pixel lớn nhỏ hẳn giá trị lân cận, ví dụ nhiễu “Salt and pepper” , thành phần nhiễu có mức xám khác với điểm lân cận thay mức xám gần điểm xung quanh Code Matlab: I=imread('eight.tif'); Isp = imnoise(I,'salt & pepper'); % them 3% (0.03)nhieu salt va pepper Ig = imnoise(I,'gaussian',0.02); % them nhieu Gaussian (voi 0.02 variance) I_m = medfilt2(I,[3 3]); % ap dung cho anh goc Isp_m = medfilt2(Isp,[3 3]); % ap dung cho anh nhieu salt va pepper Ig_m =medfilt2(Ig,[3 3]); % ap dung cho anh nhieu Gauss subplot(1,3,1), imshow(I_m); title('loc anh goc'); subplot(1,3,2), imshow(Isp_m); title('loc salt and pepper'); subplot(1,3,3), imshow(Ig_m); title('loc gaussian'); 31 Hình (1) ảnh gốc ban đầu sau sử dụng hàm lọc Median Hình (2) ảnh thêm nhiễu “Salt Pepper” sau sử dụng hàm lọc Median Hình (3) ảnh thêm nhiễu “Gauss” sau sử dụng hàm lọc Median 2.2.2 Hàm lọc Max Min Bộ lọc Max hữu dụng việc xác định điểm sáng ảnh Vì nhiễu Pepper có giá trị thấp nên bị loại trừ kết trình lựa chọn mức sáng miền xác định Bộ lọc Min hữu dụng việc xác định điểm tối to ảnh Vì nhiễu Salt có giá trị thấp nên bị loại trừ kết trình lựa chọn mức tối miền xác định Bộ lọc Max thực thông qua hàm: ( ) Bộ lọc Min thực thông qua hàm: ( ) Code Matlab Bộ lọc Max: I=imread('eight.tif'); Isp = imnoise(I,'salt & pepper'); % thêm 3% (0.03) nhieu salt va pepper Ig = imnoise(I,'gaussian',0.02); % them nhieu Gaussian (voi 0.02 variance) I_m = ordfilt2(I,25,ones(5,5)); % ap dung cho anh goc Isp_m = ordfilt2(Isp,25,ones(5,5)); % ap dung cho anh nhieu salt va pepper Ig_m =ordfilt2(Ig,25,ones(5,5)); % ap dung cho anh nhieu Gauss subplot(1,3,1), imshow(I_m); title('loc anh goc'); subplot(1,3,2), imshow(Isp_m); title('loc salt and pepper'); subplot(1,3,3), imshow(Ig_m); title('loc gaussian'); 32 Hình (1) ảnh gốc ban đầu sau sử dụng hàm lọc Max Hình (2) ảnh thêm nhiễu “Salt Pepper” sau sử dụng hàm lọc Max Hình (3) ảnh thêm nhiễu “Gauss” sau sử dụng hàm lọc Max Code Matlab lọc Min : I=imread('eight.tif'); Isp = imnoise(I,'salt & pepper'); % them 3% (0.03) nhieu salt va pepper Ig = imnoise(I,'gaussian',0.02); % them nhieu Gaussian (voi 0.02 variance) I_m = ordfilt2(I,1,ones(5,5)); % ap dung cho anh goc Isp_m = ordfilt2(Isp,1,ones(5,5)); % ap dung cho anh nhieu salt va pepper Ig_m =ordfilt2(Ig,1,ones(5,5)); % ap dung cho anh nhieu gauss subplot(1,3,1), imshow(I_m); title('loc anh goc'); subplot(1,3,2), imshow(Isp_m); title('loc salt and pepper'); subplot(1,3,3), imshow(Ig_m); title('loc gaussian'); Hình (1) ảnh gốc ban đầu sau sử dụng hàm lọc Min Hình (2) ảnh thêm nhiễu “Salt Pepper” sau sử dụng hàm lọc Min Hình (3) ảnh thêm nhiễu “Gauss” sau sử dụng hàm lọc Min 2.2.3 Hàm lọc điểm Bộ lọc điểm dùng để tính điểm trung bình giá trị Min Max vùng bao quanh Bộ lọc xử lí tốt với nhiễu có phân phối ngẫu nhiên nhiễu Gauss Bộ lọc thực thông qua hàm: ̂ [ { } { }] 33 Code Matlab lọc điểm giữa: I=imread('eight.tif'); Isp = imnoise(I,'salt & pepper'); % them 3% (0.03) nhieu salt va pepper Ig = imnoise(I,'gaussian',0.02); % them nhieu Gaussian (voi 0.02 variance) I_m = ordfilt2(I,13,ones(5,5)); % ap dung cho anh goc Isp_m = ordfilt2(Isp,13,ones(5,5)); % ap dung cho anh nhieu salt va pepper Ig_m =ordfilt2(Ig,13,ones(5,5)); % ap dung cho anh nhieu gauss subplot(1,3,1), imshow(I_m); title('loc anh goc'); subplot(1,3,2), imshow(Isp_m); title('loc salt and pepper'); subplot(1,3,3), imshow(Ig_m); title('loc gaussian'); Hình (1) ảnh gốc ban đầu sau sử dụng hàm lọc điểm Hình (2) ảnh thêm nhiễu “Salt Pepper” sau sử dụng hàm lọc điểm Hình (3) ảnh thêm nhiễu “Gauss” sau sử dụng hàm lọc điểm So sánh phương pháp: Bộ lọc trung bình lọc trung vị Bộ lọc trung bình Bộ lọc trung vị Điểm chung Đầu vào ảnh bị nhiễu khơng ảnh đầu sau lọc lọc cải thiện Tuy nhiên việc cải thiện chất lượng phụ thuộc vào lọc loại ảnh bị nhiễu Điểm mạnh Với ảnh bị nhiễu Gauss Với ảnh bị nhiễu salt lọc cho đầu pepper lọc tốt (ảnh lọc nhiễu cho đầu tốt (ảnh 34 Điểm hạn chế làm trơn tốt) lọc nhiễu làm trơn tốt) Với ảnh không bị nhiễu Gauss, mà bị nhiễu khác ảnh đầu chất lượng không tốt Với ảnh không bị nhiễu Salt Pepper, mà bị nhiễu khác ảnh đầu chất lượng không tốt 2.3 Phương pháp lọc tần số 2.3.1 Phương pháp lọc chắn dải Bộ lọc chắn dải dùng để loại bỏ hay làm suy hao dải băng tần biến đổi chuỗi Fourier ban đầu Ngoài ra, cịn loại bỏ nhiễu ứng dụng mà ta biết trước tần số nhiễu Bộ lọc thực thông qua hàm: { Tương tự, ta có: Bộ lọc chắn dải thơng thấp Buterworth: [ Bộ lọc chắn dải Gaussian: [ 2.3.2 Phương pháp lọc thông dải Bộ lọc thông dải loại bỏ nhiều chi tiết ảnh, hữu dụng việc tách ảnh hưởng dải tần số lên ảnh Bộ lọc thực thông qua hàm: 2.3.3 Phương pháp lọc cắt đột ngột Bộ lọc Notch loại bỏ hay cho qua tần số lân cận xác định trước quanh tần số trung tâm Bộ lọc thực thơng qua hàm: { Trong đó, [( ) ( ) ] 35 [( ) ( ) ] Tương tự, ta có: Bộ lọc Notch chắn dải thơng thấp Butterworth: [ Bộ lọc Notch chắn dải Gaussian: [ 2.4 Phương pháp lọc ngược Bộ lọc ngược dùng để làm rõ ảnh bị mờ chuyển động ̂ Ta có: Từ ta khơi phục DFT ảnh ban đầu: ̂ Tuy nhiên số thành phần lọc nhỏ, nên phép chia tạo giá trị lớn định đâu ảnh Vì vậy, ta khó thu ảnh đầu giống với ảnh gốc Các bước thực phương pháp lọc ngược: - Áp dụng thông thấp vào phép chia để loại bỏ giá trị nhỏ lọc: ̂ - Chọn ngưỡng giá trị d, | ̂ chia mà giữ lại giá trị ban đầu ̂ { | < d không thực phép | | | | Lưu ý: - Có hai khái niệm thực phương pháp lọc tuyến tính, tương quan(correlation) tích chập(convolution) Tương quan trình dịch lọc qua điểm ảnh ta đề cập Tích chập sử dụng trình tương tự, ngoại trừ lọc w quay 180 trước tiến hành dịch lọc - Các điểm ảnh biên thực phương pháp sau: + Đơn giản cần bỏ qua điểm ảnh + Thêm điểm ảnh bên lặp lại giá trị điểm ảnh biên + Các mức xám bên đối xứng gương với điểm ảnh bên qua biên - Kết ảnh sau lọc có kích thước nhỏ so với ảnh gốc toàn điểm ảnh xử lý Code Matlab: A=imread('peppers.png'); 36 subplot(1,2,1), imshow(A); k = fspecial('motion', 50, 54); % tao mat na tich chap 5x5 B = imfilter(A, k, 'symmetric'); % ap dung muc xam tai diem bien subplot(1,2,2), imshow(B); Hàm fspecial ( ) chức để tạo kermel tương tự hiệu ứng chuyển động mờ, chiều dài tính pixel ( 50 ) góc mờ tính theo độ ( 54) Hàm imfilter( ) hàm lọc tuyến tính, A ảnh cần lọc, k lọc kernel, symmetric: mức xám bên đối xứng gương với điểm ảnh bên qua biên Để làm rõ ảnh ta cần thực phép chia DFT ảnh ảnh bị làm mờ cho DFT lọc làm mờ ảnh Có nghĩa trước tiên ta cần tạo ma trận tương đương với biến đổi làm mờ ảnh C=zeros(256,256); %tao ma tran tuong duong C(1,1:54=k; D=fft2(C); E=ifft2(fft2(B)./D);%thuc hien phep chia DFT fftshow(E,'abs'); Kết không tốt đặc tính lọc ngược 37 2.5 Phương pháp lọc sai số trung bình bình phương cực tiểu (Wiener) Vì lọc ngược cho kết không tốt, kết tệ ảnh ban đầu bị tác động nhiễu Nên Do khơng có vấn đề phép chia mà cịn vấn đề với nhiễu: nhiễu lấn át, định giá trị ngõ ra, làm cho việc sử dụng lọc ngược trực tiếp Gọi M: ảnh ban đầu, R: ảnh khôi phục Điều mong muốn R gần với M tốt Để xét chênh lệch gần R,M ta xét hàm: ∑ Nếu ta tối thiểu hóa giá trị tổng trên, ta chắn thu kết tốt Bộ lọc có đặc điểm hàm tính “bình phương tối thiểu” gọi lọc Wiener [ | | | | ] Trong K số K dùng để xấp xỉ nhiễu Nếu phương sai nhiễu biết trước K= Code Matlab: RGB = imread('saturn.jpg'); I = rgb2gray(RGB); J = imnoise(I,'gaussian',0,0.025); Figure ; imshow(J); title('Portion of the Image with Added Gaussian Noise'); K = wiener2(J,[5 5]); Figure ; imshow(K); title('Portion of the Image with Noise Removed by Wiener Filter'); 38 Ảnh nhiễu Gauss Ảnh sau lọc Wiener Nhận xét: Hàm wiener2 cho phép thực lọc Wiener ảnh số Đây loại lọc tuyến tính có tính thích nghi tuỳ theo giá trị variance pixel ảnh Đối với pixel có variance lớn, hàm làm phẳng ảnh mức độ thấp với pixel có variance nhỏ, có xu hướng trải rộng giá trị mức xám Chất lượng lọc tốt lọc tuyến tính thơng thường, bảo tồn chi tiết tần số cao ảnh, giữ đường nét biên ảnh Tuy nhiên khối lượng tính tốn địi hỏi cao thời gian thực thi hàm dài Bộ lọc Wiener thích hợp với loại nhiễu có cơng suất phẳng, chẳng hạn nhiễu Gauss 39 KẾT LUẬN Qua khóa luận này, em đạt thành công phép biến đổi Fourier phép biến đổi hình học khơi phục hình ảnh Các đặc tính lọc để làm mịn ảnh thực cụ thể Matlab Thời gian tới, em tìm hiểu thêm kiến thức lọc thông thấp thông cao để thực ứng dụng Matlab 40 TÀI LIỆU THAM KHẢO [1] Arsath Natheem Digital Image Processing using MATLAB: ZERO to HERO, [2] Pasi Franti (2002) Image Compression, Lecture Notes, University of Joensuu [3] PGS.TS Đỗ Năng Tồn, T.S Phạm Việt Bình Xử lý ảnh, Đại Học Thái Nguyên [4] PGS.TS Nguyễn Quang Hoan (2006) Xử lý ảnh, Học Viện Cơng Nghệ Bưu Chính Viễn Thông [5] Rafael C.Gonzalez, Richard E.Wood Digital Image Processing Secon Edition, [6] Rafael C.Gonzalez, Richard E.Wood Digital Image Processing Using MATLAB Second Edition, [7] The Mathworks Image Processing Toolbox for use with MATLAB, 41 ... khóa luận là: “ PHƯƠNG PHÁP PHỤC HỒI ẢNH TRONG PHẦN MỀM MATLAB? ?? Đề tài vào tìm hiểu tổng quan toán phục hồi ảnh phương pháp xử lí MATLAB để hiểu rõ thêm tiềm hấp dẫn mà phương pháp mang lại Em... số phục hồi ảnh Ảnh kĩ thuật số biểu diễn ảnh thực hai chiều tập hữu hạn giá trị gọi phần tử điểm ảnh Phục hồi ảnh nhằm khôi phục lại ảnh bị hỏng, nhòe, mờ 1.2 Xử lý ảnh kĩ thuật số Xử lý ảnh. .. , ảnh (default a=0,b=1) R=a+(b-a)*rand(M,N) kích thước CHƯƠNG II : MỘT SỐ PHƯƠNG PHÁP GIẢI BÀI TOÁN PHỤC HỒI ẢNH Trong chương này, chúng tơi trình số phương pháp để giải toán phục hồi ảnh Matlab

Ngày đăng: 29/04/2021, 12:50

Tài liệu cùng người dùng

Tài liệu liên quan