Bài giảng Xử lý ảnh - Chương 3.1: Cải thiện và phục hồi ảnh - Hoàng Văn Hiệp
Bạn đang xem 20 trang mẫu của tài liệu "Bài giảng Xử lý ảnh - Chương 3.1: Cải thiện và phục hồi ảnh - Hoàng Văn Hiệp", để tải tài liệu gốc về máy bạn click vào nút DOWNLOAD ở trên
Tài liệu đính kèm:
bai_giang_xu_ly_anh_chuong_3_1_cai_thien_va_phuc_hoi_anh_hoa.pdf
Nội dung text: Bài giảng Xử lý ảnh - Chương 3.1: Cải thiện và phục hồi ảnh - Hoàng Văn Hiệp
- Xử lý ảnh Hoàng Văn Hiệp Bộ môn Kỹ thuật máy tính Viện Công nghệ thông tin và Truyền thông Email: [email protected] 1
- Nội dung Chương 1. Giới thiệu chung Chương 2. Thu nhận & số hóa ảnh Chương 3. Cải thiện & phục hồi ảnh Chương 4. Phát hiện tách biên, phân vùng ảnh Chương 5. Trích chọn các đặc trưng trong ảnh Chương 6. Nén ảnh Chương 7. Lập trình xử lý ảnh bằng Matlab và C 2
- Chƣơng 3. Cải thiện và phục hồi ảnh Cải thiện ảnh Phục hồi ảnh 3
- Cải thiện ảnh Xử lý ảnh để đầu ra “tốt” hơn đầu vào cho mục đích nhất định . Do đó: Cải thiện ảnh rất phụ thuộc vào từng ứng dụng cụ thể Phương pháp cải thiện ảnh . Xử lý trên miền không gian o Xử lý trên điểm ảnh o Xử lý mặt nạ . Xử lý trên miền tần số o Các phép lọc . Xử lý trên màu sắc 4
- Xử lý trên miền không gian Spatial Domain process . Trong đó: f(x, y) ảnh gốc . g(x, y) ảnh sau biến đổi . T: phép biến đổi ảnh 5
- Xử lý trên miền không gian Nếu xét cửa sổ lân cận: 1 x 1 . Phép xử lý trên điểm ảnh . Giá trị đầu ra tại một điểm ảnh chỉ phụ thuộc điểm đó, không phụ thuộc vào các điểm khác Nếu xét cửa sổ lân cận w x w . Cửa sổ lân cận còn gọi là: mặt nạ (mask), nhân (kernel), Cửa sổ (window), bộ lọc (filter), template . Giá trị đầu ra tại một điểm phụ thuộc vào các điểm lân cận của nó 6
- Các phép biến đổi ảnh dựa trên điểm ảnh Phép biến đổi âm bản ảnh Biến đổi dùng hàm logarit Biến đổi dùng hàm mũ Biến đổi dựa trên histogram Biến đổi dựa trên các phép số học/logic 7
- Một số phép xử lý cơ bản dựa trên điểm ảnh Một số hàm biến đổi 8
- Phép biến đổi âm bản ảnh s = L – 1 – r Matlab code: I = imread(‘rice.png’); J = 255 – I; imshow(J) 9
- Phép biến đổi log Công thức Tác dụng: Kéo giãn các giá trị ở vùng tối, thu hẹp các giá trị ở vùng sáng 10
- Phép biến đổi hàm mũ Công thức tổng quát 11
- Gama correction 12
- Phép biến đổi hàm mũ c = 1; γ1 = 3; γ2 = 4; γ3 = 5; 13
- Phép biến đổi tuyến tính từng khúc 14
- Biến đổi tăng độ tƣơng phản 15
- Gray level slicing Tăng cường mức xám ở một dải cố định [A, B] Ảnh biến đổi qua hàm đầu Ảnh gốc 16
- Bit-plan slicing Với ảnh 8bit: mỗi pixel được biểu diễn bằng 8 bit Tưởng tượng mỗi ảnh là tổng hợp của 8 mặt phẳng 1 bit (1bit - plan): từ plan 0 đến plan 7 . Plan 0: chứa tất cả các bit thấp nhất trong các byte pixel trong ảnh . . Plan 7: chứa tất cả các bit cao nhất trong các byte pixel trong ảnh 17
- Bit-plan slicing 18
- Bit-plan slicing 19
- Một số phép xử lý dựa trên điểm ảnh Bài tập: Cài đặt các phép biến đổi dựa trên điểm ảnh trên bằng Matlab 20
- Phép biến đổi dựa trên histogram Histogram là gì? . Histogram của ảnh đa mức xám: [0 L-1] là hàm rời rạc: . ℎ = 푛 o Với là thành phần mức xám thứ k o 푛 : số lượng pixel có mức xám là . Dạng chuẩn hóa: 푛 ℎ = 푛 Với n: tổng số pixel trong ảnh 21
- Histogram Ảnh tối 22
- Histogram Ảnh sáng 23
- Histogram Ảnh độ tương phản thấp 24
- Histogram Ảnh độ tương phản cao 25
- Histogram Nhận xét? Khái niệm: số bins . Mặc định trong ảnh đa mức xám: 256 bins 26
- Phép cân bằng histogram Histogram equalization: tác dụng? Trước hết xét trên miền liên tục . r: biến ngẫu nhiên thể hiện các giá trị cấp xám trong ảnh ban đầu 0 ≤ ≤ 1 . s: biến ngẫu nhiên thể hiện giá trị cấp xám trong ảnh biến đổi . Cần tìm phép biến đổi: s = T[r] 27
- Histogram equalization 28
- Histogram equalization Theo lý thuyết xác suất nếu tồn tại phép biến đổi ngược từ s r thì: Nếu chọn: 29
- Histogram equalization 30
- Histogram equalization Trên miền rời rạc (áp dụng cho ảnh số) 31
- Histogram equalization Ảnh mới nhận được bằng cách ánh xạ mỗi pixel tại cấp xám rk trong ảnh ban đầu với pixel tương ứng tại mức xám sk 32
- Histogram equalization 33
- Histogram equalization 34
- Histogram equalization Thảo luận . So sánh: Cân bằng histogram và phép biến đổi tăng độ tương phản bằng tuyến tính từng khúc . Cân bằng histogram trường hợp nào cũng tốt? 35
- Histogram equalization 36
- Histogram equalization 37
- Histogram matching/specification Nhiều trường hợp: histogram phân bố đều không cho kết quả ảnh tốt nhất Chỉ định histogram có hình dạng tốt Biến đổi ảnh theo hình dạng histogram cho trước Bài toán histogram matching hay histogram specification 38
- Histogram matching 39
- Histogram matching Ý tưởng trên miền liên tục 40
- Histogram matching Áp dụng trên miền rời rạc (ảnh số) . Từ rk tính sk . Từ zk tính vk . Từ đó tính zk 41
- Histogram matching 42
- Histogram matching Ứng dụng . Hiệu chỉnh các ảnh chụp cùng một cảnh, nhưng được chụp bởi các camera, sensor khác nhau 43
- Cải thiện ảnh dựa trên các con số thống kê của histogram (histogram statistic) Đặt vấn đề: Làm nổi vùng ảnh bên phải? 44
- Histogram statistic Kết quả chưa tốt 45
- Histogram statistic Tính toán các thống kê toàn cục Các thống kê cục bộ: Sxy: mặt nạ tâm (x,y) 46
- Histogram statistic Vấn đề: Làm sao để tăng độ tương phản trong một vùng ảnh mà không làm ảnh hưởng đến các vùng khác Chỉ làm sáng, làm tối vùng cần thiết, các vùng còn lại giữ nguyên . Với k0, k1, k2 là các hằng số 47
- Histogram statistic 48
- Histogram statistic 49
- Các phép biến đổi ảnh dựa trên các phép toán số học/logic Phép AND ảnh Phép OR ảnh Phép trừ ảnh Phép cộng ảnh 50
- Phép AND ảnh Ảnh gốc Mặt nạ AND Phép AND ảnh 51
- Phép OR ảnh Ảnh gốc Mặt nạ OR Phép OR ảnh 52
- Phép trừ ảnh 53
- Trung bình ảnh g(x,y) là ảnh nhiễu thu được bởi ảnh gốc f(x,y) và nhiễu (,)xy Với tập ảnh nhiễu {g(x,y)} 54 Digital Image Processing 11/28/2011
- Phép trung bình ảnh 55
- Bài tập Cho ảnh như sau: 8 bit – 8 x 8 1) Tính và vẽ histogram trong các trường hợp: 8 bins, 16 bins, 32 bins 2) Nhận xét về độ tương phản của ảnh trên 3) Cân bằng histogram cho ảnh trên, . Vẽ histogram sau khi cân bằng . Tính toán lại các giá trị điểm ảnh ứng với histogram mới 56
- Xử lý trên miền không gian Nếu xét cửa sổ lân cận: 1 x 1 . Phép xử lý trên điểm ảnh . Giá trị đầu ra tại một điểm ảnh chỉ phụ thuộc điểm đó, không phụ thuộc vào các điểm khác Nếu xét cửa sổ lân cận w x w . Cửa sổ lân cận còn gọi là: mặt nạ (mask), nhân (kernel), Cửa sổ (window), bộ lọc (filter), template . Giá trị đầu ra tại một điểm phụ thuộc vào các điểm lân cận của nó 57
- Biến đổi ảnh trên miền không gian Các phép lọc thường được liên tưởng đến lọc trên miền tần số Spatial filtering: lọc trên miền không gian – kết quả các phép lọc tác động trực tiếp đến các pixel trong ảnh . Các phép lọc làm trơn ảnh . Các phép lọc thống kê thứ tự . Các phép lọc tăng cường độ nét, cải thiện biên 58
- CƠ CHẾ CỦA LỌC KHÔNG GIAN Gốc của ảnh y Mặt nạ w(-1,-1) w(-1,0) w(-1,1) w(0,-1) w(0,0) w(0,1) w(1,-1) w(1,0) w(1,1) f(x-1,y-1) f(x-1,y) f(x-1,y+1) Ảnh f(x, y) f(x,y-1) f(x,y) f(x,y+1) x f(x+1,y-1) f(x+1,y) f(x+1,y+1) R w( 1, 1) f (x 1, y 1) w( 1,0) f (x 1, y) w(0,0) f (x, y) w(1,0) f (x 1, y) w(1,1) f (x 1, y 1) 59
- Cơ chế của lọc không gian Mặt nạ kích thước: × 푛 . Thường: m = 2 x a + 1, n = 2 x b + 1 . kích thước mặt nạ thường lẻ: 3 x 3, 5 x 5, 7 x 7, 9 x 9 . a b g(x, y) w(s,t) f (x s, y t) s a t b 60
- Chú ý phân biệt: correlation với convolution 61
- Ví dụ bộ lọc không gian 3 x 3 Mặt nạ 3 3 trong hình trên đáp ứng tại điểm (x, y) của ảnh được tính bởi công thức w1 w2 w3 w4 w5 w6 w7 w8 w9 9 R w1z1 w2 z2 w9 z9 wi zi i 1 62
- XỬ LÝ TRƢỜNG HỢP ĐẶC BIỆT Trường hợp thực thi các phép toán lân cận khi tâm của bộ lọc nằm trên biên của ảnh? f(0,0) f(0,1) f(0,2) f(0,3) f(0,4) w1 w2 w3 f(1,0) f(1,1) f(1,2) f(1,3) f(1,4) w4 w5 w6 f(2,0) f(2,1) f(2,2) f(2,3) f(2,4) w7 w8 w9 f(3,0) f(3,1) f(3,2) f(3,3) f(3,4) Mặt nạ f(4,0) f(4,1) f(4,2) f(4,3) f(4,4) 63
- XỬ LÝ TRƢỜNG HỢP ĐẶC BIỆT Khi tâm mặt nạ di chuyển gần đến biên của ảnh thì một hoặc một số dòng/cột của mặt nạ sẽ nằm ngoài ảnh. Ở ví dụ dưới các hệ số w1, w4, w7 nằm ngoài ảnh. w1 w2 w3 w4 w5 w6 w7 w8 w9 64
- XỬ LÝ TRƢỜNG HỢP ĐẶC BIỆT Cách 1: Giả sử mặt nạ có kích thước n n. Cho vị trí tâm của mặt nạ không được nhỏ hơn (n-1)/2 điểm ảnh kể từ biên Ảnh sau khi lọc có kích thước nhỏ hơn ảnh gốc, nhưng tất cả các điểm ảnh đều được xử lý. w1 w2 w3 w4 w5 w6 w7 w8 w9 65
- XỬ LÝ TRƢỜNG HỢP ĐẶC BIỆT Cách 2: Yêu cầu ảnh kết quả có kích thước bằng ảnh gốc Đưa thêm các dòng đệm và cột đệm mang giá trị 0 vào quanh biên của ảnh. 0 0 0 0 0 0 0 0 0 0 0 w1 w2 w3 0 0 w4 w5 w6 0 0 w7 w8 w9 0 0 66 0 0 0 0 0 0 0
- Bộ lọc làm trơn (smooth filtering) Tác dụng . Làm mờ ảnh o Áp dụng trong các phép tiền xử lý ảnh o Loại bỏ các đối tượng nhỏ trong ảnh . Khử nhiễu Bộ lọc làm trơn đơn giản nhất là bộ lọc trung bình (average filtering) 67
- Bộ lọc làm trơn ảnh Ý tưởng bộ lọc trung bình: thay thế giá trị tại mỗi pixel bằng trung bình các giá trị pixel trong mặt nạ lân cận . loại bỏ những pixel biến đổi lớn so với lân cận (nhiễu) . những pixel nằm trên biên cũng có sự biến đổi lớn so với lân cận làm mờ 68
- Bộ lọc làm trơn ảnh Với bộ lọc không gian kích thước 3 3, thì cách sắp xếp đơn giản nhất là cho các hệ số bằng 1/9. Bộ lọc f(x-1,y-1) f(x-1,y) f(x-1,y+1) 1 1 1 1 làm trơn f(x,y-1) f(x,y) f(x,y+1) 1 1 1 3 3 9 f(x+1,y-1) f(x+1,y) f(x+1,y+1) 1 1 1 1 g(x, y) [ f (x 1, y 1) f (x 1, y) f (x 1, y 1) 9 f (x, y 1) f (x, y) f (x, y 1) 69 f (x 1, y 1) f (x 1, y) f (x 1, y 1)]
- Bộ lọc làm trơn ảnh Bộ lọc với các hệ số khác nhau (bộ lọc có trọng số) Ta thấy hệ số trung tâm của bộ lọc có giá trị lớn hơn so với các hệ số khác điểm ảnh ứng với tâm bộ lọc có tầm quan trọng hơn các điểm ảnh khác. 1 g(x, y) [ f (x 1, y 1) 2 f (x 1, y) 1 2 1 16 1 2 4 2 f (x 1, y 1) 2 f (x, y 1) 4 f (x, y) 16 2 f (x, y 1) f (x 1, y 1) 2 f (x 1, y) 1 2 1 f (x 1, y 1)] Bộ lọc làm trơn 3 3 70
- Bộ lọc làm trơn ảnh Công thức tổng quát của bộ lọc trung bình 71
- Bộ lọc làm trơn ảnh Ví dụ: Lọc trung bình 72
- Bộ lọc làm trơn ảnh Minh họa lọc trung bình với các kích thước mặt nạ khác nhau 73
- Bộ lọc làm trơn ảnh Ví dụ lọc làm mờ ảnh . Tác dụng: loại bỏ các đối tượng nhỏ 74
- Bộ lọc làm trơn ảnh Bộ lọc Gaussian 75
- Bộ lọc làm trơn ảnh Mặt nạ gaussian với 휎 = 1.0 76
- Bộ lọc làm trơn ảnh 77
- Lọc thống kê thứ tự (order- statistic filtering) Ý tưởng: . Các pixel trong mặt nạ lân cận được sắp xếp theo thứ tự (ranking) . Thay thế pixel trung tâm bằng giá trị của một pixel chỉ định trong danh sách o các loại lọc thống kê thứ tự Lọc trung vị Lọc cực đại (max) Lọc cực tiểu (min) 78
- Lọc trung vị Được sử dụng phổ biến: . Khử nhiễu ngẫu nhiên tốt . Ít bị nhòe hơn so với phép lọc trung bình Cài đặt . Sắp xếp các giá trị pixel trong cửa sổ lân cận . Thay thế giá trị pixel bằng giá trị giữa của danh sách Ví dụ: Cho dãy . {xn} = {3, 4, 6, 29, 4, 30, 40, 30, 5} . {xn} = {3, 4, 4, 5, 6, 29, 30, 30, 40}. . trung vị = 6 79
- Lọc trung vị 80
- Các phép lọc tăng cƣờng độ nét, cải thiện biên (sharpening filter) Mục đích của lọc tăng cường độ nét là để làm nổi bật một số chi tiết trong ảnh các điểm ảnh có sự biến đổi mức xám lớn so với lân cận Lọc làm nổi bật đường biên của ảnh Cơ sở của các phép lọc tăng cường độ nét và cải thiện biên là các phép đạo hàm cấp 1 và cấp 2 81
- Đạo hàm các cấp áp dụng cho ảnh số 82
- Đạo hàm cấp 1 Bằng 0 tại những vùng không biến đổi Khác 0 tại điểm bắt đầu đường “dốc” Khác 0 trên vùng “dốc” 83
- Đạo hàm cấp 2 Bằng 0 tại những vùng không biến đổi Khác 0 tại những điểm bắt đầu/kết thúc vùng “dốc” Bằng 0 tại những điểm trên vùng “dốc” 84
- Đạo hàm các cấp Nhận xét: . Đạo hàm cấp 1 o Cho biên dày hơn o Nhạy với các bước nhảy mức xám . Đạo hàm bậc 2 o Đáp ứng mạnh với các chi tiết, các điểm độc lập o Đáp ứng gấp đôi tại các bước nhảy mức xám 86
- SỬ DỤNG ĐẠO HÀM BẬC HAI TOÁN TỬ LAPLACIAN Toán tử đạo hàm đẳng hướng là toán tử Laplacian đối với ảnh f(x, y) được định nghĩa như sau: 2 f 2 f 2 f x 2 y 2 2 f f (x 1, y) f (x 1, y) 2 f (x, y) x 2 2 f f (x, y 1) f (x, y 1) 2 f (x, y) y 2 87
- SỬ DỤNG ĐẠO HÀM BẬC HAI TOÁN TỬ LAPLACIAN Theo công thức trên ta có thể xây dựng mặt nạ lọc L như sau: 2 f [ f (x 1, y) f (x 1, y) 0 1 0 f (x, y 1) f (x, y 1)] 4 f (x, y) 1 -4 1 0 1 0 Mặt nạ này bất biến với phép quay 90o. 88
- SỬ DỤNG ĐẠO HÀM BẬC HAI TOÁN TỬ LAPLACIAN Theo công thức trên ta có thể xây dựng mặt nạ lọc L như sau: 2 f 4 f (x, y) [ f (x 1, y) 0 -1 0 f (x 1, y) f (x, y 1) f (x, y 1)] -1 4 -1 0 -1 0 Mặt nạ này bất biến với phép quay 90o. 89
- SỬ DỤNG ĐẠO HÀM BẬC HAI TOÁN TỬ LAPLACIAN Chúng ta cũng có thể xem xét đạo hàm bậc hai theo đường chéo, khi đó mặt nạ lọc L thu được là: 2 f [ f (x 1, y 1) f (x 1, y) 1 1 1 f (x 1, y 1) f (x 1, y 1) 1 -8 1 f (x 1, y) f (x 1, y 1) f (x, y 1) f (x, y 1)] 8 f (x, y) 1 1 1 Mặt nạ này bất biến với phép quay 45o. 90
- SỬ DỤNG ĐẠO HÀM BẬC HAI TOÁN TỬ LAPLACIAN Chúng ta cũng có thể xem xét đạo hàm bậc hai theo đường chéo, khi đó mặt nạ lọc L thu được là: 2 f 8 f (x, y) [ f (x 1, y 1) -1 -1 -1 f (x 1, y) f (x 1, y 1) -1 8 -1 f (x 1, y 1) f (x 1, y) f (x 1, y 1) f (x, y 1) f (x, y 1)] -1 -1 -1 Mặt nạ này bất biến với phép quay 45o. 91
- Cải thiện ảnh với toán tử Laplacian 92
- Cải thiện ảnh với toán tử laplacian 93
- Cải thiện ảnh với toán tử laplacian 94
- f (x, y) 2 f (x, y) g(x, y) 2 CHÚ Ý f (x, y) f (x, y) 0 -1 0 0 0 0 0 -1 0 -1 5 -1 = 0 1 0 + -1 4 -1 0 -1 0 0 0 0 0 -1 0 -1 -1 -1 0 0 0 -1 -1 -1 + -1 9 -1 = 0 1 0 -1 8 -1 -1 -1 -1 0 0 0 -1 -1 -1 95
- SỬ DỤNG ĐẠO HÀM BẬC NHẤT TOÁN TỬ GRADIENT Đạo hàm bậc nhất trong xử lý ảnh là được thực hiện bằng cách sử dụng độ lớn của gradient. Với hàm f(x, y), gradient của f tại tọa độ (x, y) được định nghĩa là một vectơ cột hai chiều: f Gx x f f Gy y 96
- SỬ DỤNG ĐẠO HÀM BẬC NHẤT TOÁN TỬ GRADIENT f Gx x f f Gy y Độ lớn của vectơ được cho bởi: 1 f mag(f ) G 2 G 2 2 x y Xấp xỉ 1 2 2 2 f f x y f Gx Gy 97
- SỬ DỤNG ĐẠO HÀM BẬC NHẤT TOÁN TỬ GRADIENT f f f G G x y x y f (x 1, y) f (x, y) f (x, y 1) f (x, y) Như vậy: Gx f (x 1, y) f (x, y) Gy f (x, y 1) f (x, y) 98
- SỬ DỤNG ĐẠO HÀM BẬC NHẤT TOÁN TỬ GRADIENT Trong vùng 3 3, sử dụng ký hiệu z5 của mặt z1 z2 z3 nạ tương ứng với điểm ảnh f(x, y), điểm z1 của mặt nạ tương ứng với điểm ảnh f(x-1, y- z4 z5 z6 1), z7 z8 z9 Xấp xỉ đơn giản nhất đối với đạo hàm bậc nhất thỏa mãn điều kiện: Gx f (x 1, y) f (x, y) Gy f (x, y 1) f (x, y) Gx = (z6 – z5) và Gy = (z8 – z5). 99
- SỬ DỤNG ĐẠO HÀM BẬC NHẤT TOÁN TỬ GRADIENT z1 z2 z3 Gx (z8 z5 ) và Gy (z6 z5 ) z4 z5 z6 z z z Khi đó: 7 8 9 1 1 2 2 2 2 2 2 f [Gx Gy ] [(z8 z5 ) (z6 z5 ) ] f z8 z5 z6 z5 100
- SỬ DỤNG ĐẠO HÀM BẬC NHẤT TOÁN TỬ GRADIENT z1 z2 z3 Hai toán tử khác do Roberts đề nghị như z4 z5 z6 sau: z7 z8 z9 Gx (z9 z5 ) và Gy (z8 z6 ) 1 1 2 2 2 2 2 2 f [Gx Gy ] [(z9 z5 ) (z8 z6 ) ] f z9 z5 z8 z6 101
- SỬ DỤNG ĐẠO HÀM BẬC NHẤT TOÁN TỬ GRADIENT z1 z2 z3 Hai toán tử khác do Sobel đề nghị như sau: z4 z5 z6 z7 z8 z9 Gx (z7 2z8 z9 ) (z1 2z2 z3 ) Gy (z3 2z6 z9 ) (z1 2z4 z7 ) f Gx Gy 102
- CHÚ Ý Tổng tất cả các hệ số trong mặt nạ bằng 0. Điều này nhằm làm cho đáp ứng tại những vùng cấp xám không thay đổi có giá trị bằng 0. 103



