Điều này cũng có ý nghĩa quan trọng trong nhiều ứng dụng thực tế như nhận dạng các đối tượng địa lý, các biểu tượng trên bản đồ, phần mềm phát hiện và đếm các đối tượng chuyển động … Đặt
Trang 1TRƯỜNG ĐẠI HỌC SƯ PHẠM HÀ NỘI 2 KHOA CÔNG NGHỆ THÔNG TIN
Trang 2LỜI CẢM ƠN
Lời đầu tiên em xin chân thành cảm ơn sự hướng dẫn tận tình của cô giáo ThS Lưu Thị Bích Hương, khoa Công nghệ thông tin, trường Đại học sư phạm Hà Nội 2
Em cũng xin chân thành cảm ơn các thầy, cô giáo trong khoa Công nghệ thông tin, cũng như các thầy, cô giáo trong trường đã giảng dạy và giúp đỡ
em trong các năm học vừa qua Chính các thầy, cô giáo đã xây dựng cho chúng em những kiến thức nền tảng và kiến thức chuyên môn để em có thể hoàn thành khóa luận tốt nghiệp và chuẩn bị cho những công việc của mình sau này
Cuối cùng em xin bày tỏ lòng biết ơn tới gia đình và bạn bè đã giúp đỡ động viên em rất nhiều trong suốt quá trình học tập để em có thể thực hiện tốt khóa luận này
Do kiến thức và thời gian còn hạn chế nên khóa luận không tránh khỏi những thiếu sót Kính mong nhận được sự đóng góp ý kiến của các thầy cô
và các bạn để khóa luận được hoàn thiện hơn
Hà Nội, tháng 05 năm 2014
Sinh viên
Tạ Tiến Thành
Trang 3LỜI CAM ĐOAN
Tên em là: TẠ TIẾN THÀNH
Sinh viên lớp: K36 – Tin học, khoa Công nghệ thông tin, trường Đại học
sư phạm Hà Nội 2
Em xin cam đoan:
1 Đề tài “Các phép toán hình thái trong xử lý ảnh và xây dựng ứng
dụng” là sự nghiên cứu của riêng em, dưới sự hướng dẫn của cô giáo ThS
Lưu Thị Bích Hương
2 Khóa luận hoàn toàn không sao chép của tác giả nào khác
Nếu sai em xin hoàn toàn chiu trách nhiệm
Hà Nội, tháng 05 năm 2014 Người cam đoan
Tạ Tiến Thành
Trang 4MỤC LỤC
MỞ ĐẦU 1
CHƯƠNG 1: CƠ SỞ LÝ THUYẾT 4
1.1 Xử lý ảnh là gì 4
1.2 Các ứng dụng của xử lý ảnh 5
1.3 Các bước cơ bản trong xử lý ảnh 6
1.4 Các định dạng ảnh cơ bản 10
CHƯƠNG 2: CÁC PHÉP TOÁN HÌNH THÁI 16
2.1 Thao tác trên ảnh nhị phân 16
2.1.1 Phép dãn nhị phân (Dilation) 16
2.1.2 Phép co nhị phân (Erosion) 21
2.1.3 Phép mở nhị phân (Opening) 24
2.1.4 Phép đóng nhị phân (Closing) 25
2.1.5 Kĩ thuật đánh trúng và đánh trượt 30
2.1.6 Kĩ thuật đếm vùng 32
2.2 Thao tác trên ảnh đa mức xám 33
2.2.1 Phép co và phép dãn (Erosion and Dilation) 33
2.2.2 Các phép toán đóng, mở (Closing and Opening) 34
2.2.3 Làm trơn 36
2.2.4 Gradient 37
2.2.5 Phân vùng theo cấu trúc 38
2.2.6 Phân loại cỡ đối tượng 39
CHƯƠNG 3: ỨNG DỤNG CÁC PHÉP TOÁN HÌNH THÁ I 42
Trang 53.1 Ứng dụng thực tiễn 42
3.2 Xương và làm mảnh 43
3.3 Các phương pháp lặp hình thái 45
3.4 Nhận dạng biên 53
CHƯƠNG 4: XÂY DỰNG CHƯƠNG TRÌNH ỨNG DỤNG 54
4.1 Phát biểu bài toán 54
4.2 Thiết kế chương trình 54
KẾT LUẬN VÀ HƯ ỚNG PHÁT TRI ỂN 63
1 Kết luận 63
2 Hướng phát triển 63
TÀI LIỆU THAM KHẢO 65
Trang 6CÁC KÝ HIỆU VIẾT TẮT
KL Karhumen Loeve Biến đổi Karhumen Loeve
CCIR Consultative Committee for
International Radio
Tiêu chuẩn điều chế tần số CCIR
CCD Change Coupled Device Công nghệ sử dụng cho camera
PCX Personal Computer Exchange Định dạng ảnh PCX
RLE Run Length Encoded Phương pháp mã loạt dài
TIFF Targed Image File Format Định dạng ảnh TIFF
DIB Device Independent Bitmap Một định dạng của ảnh bitmap GIF Graphics Interchanger Format Định dạng ảnh GIF
LZW Lempel Ziv Welch Thuật toán nén LZW
JPEG Joint Photographic Experts
Group
Nén ảnh JPEG
PNG Portable Network Graphics Nén dữ liệu PNG
LIBPNG Library Portable Network
Graphics
Thư viện ảnh PNG
TIFF Tagged Image File Format Ảnh định dạng TIFF
MIME Multipurpose Internet Mail
Extensions
Chuẩn Internet về định dạng cho thư điện tử
OCR Optical Character Recognition Hệ thống nhận dạng chữ viết bằng
thiết bị quang học OCR AFIS Automated fingerprint
Identification System
Hệ thống nhận dạng vân tay AFIS
Trang 7DANH MỤC HÌNH VẼ
Hình 1.2: Các bước cơ bản trong một hệ thống xử lý ảnh 5
Hình 1.3: Các bước cơ bản trong xử lý ảnh 6
Hình 1.4: Sơ đồ phân tích và xử lý ảnh và lưu đồ thông tin giữa các khối 10
Hình 1.5: Định dạng ảnh BMP 13
Hình 2.1: Thao tác nhị phân đơn giản trên một ảnh nhỏ (a) Ảnh ban đầu; (b) Ảnh dãn 1 điểm ảnh; (c) Ảnh dãn 2 điểm ảnh 16
Hình 2.2: Dãn A bởi B (a) Ảnh A, B ban đầu; (b) Ảnh A cộng phần tử (0,0); (c) Tập A cộng phần tử (0,1); (d) Hợp của (b) và (c) hay kết quả phép dãn 18
Hình 2.4: Dãn ảnh sử dụng phần tử cấu trúc 20
Hình 2.5: Phép co nhị phân 22
Hình 2.6: Xoá hình thái những dòng ngang của khuông nhạc 24
Hình 2.7: Sử dụng phép toán mở 25
Hình 2.8: Phép đóng 26
Hình 2.9: Phép đóng với độ sâu lớn 27
Hình 2.10: Phép co sử dụng một bản đồ khoảng cách 29
Hình 2.11: Phép mở tổng thể của đối tượng dạng đĩa 30
Hình 2.12: Minh hoạ thao tác đánh trúng và đánh trượt 31
Hình 2.13 Đếm vùng (a), (b), (c), (d) Các cấu trúc; (e) Ví dụ của ảnh có 8 vùng 32
Hình 2.14: Phép dãn đa cấp xám 36
Hình 2.15: Làm trơn đa cấp xám 37
Hình 2.16: Đường dốc hình thái 38
Hình 2.17: Phân đoạn cấu trúc 39
Hình 2.18: Phân lớp những đồng xu 40
Hình 3.1: Mô hình tổng quát của hệ thống nhận dạng ảnh 42
Trang 8Hình 3.2: Các mẫu dùng cho việc nhận dạng những điểm ảnh có thể bị xoá trong thuật toán làm mảnh Stienford (a) Mẫu M1; (b) Mẫu M2;
(c) Mẫu M3; (d) Mẫu M4 46
Hình 3.3: Một minh hoạ về số liên kết 47
Hình 3.4: Bốn phần của mỗi phép lặp trong phương pháp làm mảnh Stentiford (a) Sau khi áp dụng mẫu M1; (b) Sau mẫu M2; (c) Sau M3; (d) Sau M4 48
Hình 3.5: Tất cả các phép lặp của thuật toán làm mảnh Stienford được áp dụng cho chữ T 49
Hình 3.6: Những thao tác của phép làm mảnh cổ điển (a) Cổ cột; (b) Đuôi cột; (c) Đường tạo thành vẫn có sợi 50
Hình 3.7: Các mẫu được dùng cho bước xử lý phân giác góc nhọn 51
Hình 3.8: Những kí tự được làm mảnh cuối cùng, sau hai bước xử lý và làm mảnh 51
Hình 3.9: Kết quả làm mảnh (a) Ảnh ban đầu; (b) Áp dụng Erosion; (c) Ảnh ban đầu đã biến đổi 53
Hình 4.1: Form giao diện 55
Hình 4.2: Kết quả phép giãn ảnh A 55
Hình 4.3: Kết quả phép co ảnh A 56
Hình 4.4: Kết quả phép mở ảnh A 56
Hình 4.5: Kết quả phép đóng ảnh A 57
Hình 4.6: Kết quả nhận dạng biên ảnh A 57
Hình 4.8: Kết quả phép giãn ảnh B 58
Hình 4.9: Kết quả phép co ảnh B 58
Hình 4.10: Kết quả phép mở ảnh B 59
Hình 4.11: Kết quả phép đóng ảnh B 59
Hình 4.12: Kết quả nhận dạng biên ảnh B 60
Hình 4.14: Kết quả phép co ảnh C 61
Hình 4.15: Kết quả phép mở ảnh C 61
Trang 9Hình 4.16: Kết quả phép đóng ảnh C 62 Hình 4.17: Kết quả nhận dạng biên ảnh C 62
Trang 10Xử lý nâng cao chất lượng ảnh là một vấn đề trọng tâm của môn học
xử lý ảnh đồng thời nó cũng là bước tiền xử lý cho việc nhận dạng, trích chọn thông tin trong xử lý ảnh số Điều này cũng có ý nghĩa quan trọng trong nhiều ứng dụng thực tế như nhận dạng các đối tượng địa lý, các biểu tượng trên bản đồ, phần mềm phát hiện và đếm các đối tượng chuyển động … Đặt biệt trong hầu hết các một số ngành công nghiệp như: Cơ khí chế tạo, chế biến, sản xuất, việc đọc hình ảnh có thể nói là thường xuyên và cực
kỳ quan trọng Bản vẽ kỹ thuật (một dạng của hình ảnh) chính là kết quả ngôn ngữ kỹ thuật, mà qua nó, một quy trình công nghệ phải được xây dựng trong quá trình sản xuất, cũng như nó chính là cơ sở cho việc nghiệm thu cho bất
kỳ sản phẩm nào Để lưu ảnh của các tài liệu, các bản vẽ hoặc sửa đổi chúng
và chuyển chúng sang các dạng đồ họa khác tiện cho việc nhận dạng, đối sánh mẫu để sử dụng sau này là điều cần thiết Do vậy tiền xử lý ảnh là việc cần làm Có nhiều phương pháp, nhiều công cụ, nhiều phần mềm xử lý ảnh đã ra đời Tăng cường chất lượng ảnh, mà công đoạn đầu tiên là một bước tiền xử
lý nhằm loại bỏ nhiễu, khắc phục những khiếm khuyết do bước thu nhận ảnh không tốt là việc làm quan trọng Có nhiều phương pháp cho việc nâng cao chất lượng ảnh nói chung và tiền xử lý nói riêng Để giải quyết các bài toán
đó thì việc tách hoặc làm rõ những điểm, đường biên quan trọng của ảnh là
Trang 112
những bước đầu quan trọng cho việc nhận dạng, trích dẫn thông tin sau này
Chính vì vậy em đã lựa chọn đề tài: “Các phép toán hình thái trong xử lý
ảnh và xây dựng ứng dụng” để làm khóa luận.
2 Mục đích nghiên cứu
Nghiên cứu các phép toán hình thái: Phép co, phép giãn, phép đóng, phép mở đối với ảnh nhị phân và ảnh đa mức xám
Xây dựng những ứng dụng thực tiễn của phép toán hình thái
3 Nhiệm vụ nghiên cứu
Tìm hiểu các phép toán hình thái: Phép co, phép giãn, phép đóng, phép mở Xây dựng ứng dụng phép toán hình thái
4 Đối tượng và phạm vi nghiên cứu
Đối tượng nghiên cứu của khóa luận là các phép toán hình thái trên ảnh nhị phân và ảnh đa mức xám
Phạm vi nghiên cứu: Nói đến các phép toán hình thái là nói đến một lĩnh vực vô cùng rộng lớn và quan trọng trong xử lý ảnh Trong khóa luận chỉ tìm hiểu đến một phần của các phép toán hình thái Đó là các phép toán hình thái trên ảnh nhị phân và ảnh đa mức xám
5 Ý nghĩa khoa học và thực tiễn
Khóa luận phân tích, làm rõ các phép toán hình thái Từ đó ta có thể hiểu thêm về tính chất, đặc điểm, ứng dụng của các phép toán hình thái Nghiên cứu góp phần chứng minh thêm tính đúng đắn của các phép toán hình thái Hiện nay các phép toán hình thái là một lĩnh vực đang được các chuyên gia nghiên cứu và phát triển
Xây dựng chương trình thử nghiệm các phép toán hình thái nếu thành công sẽ góp một phần nhỏ trong việc lựa chọn, chọn lọc ảnh số và trích chọn biên ảnh
Trang 123
6 Phương pháp nghiên cứu
- Phương pháp nghiên cứu lý luận
Nghiên cứu qua việc đọc sách, báo và các tài liệu liên quan nhằm xây dựng cơ sở lý thuyết của khóa luận và các biện pháp cần thiết để giải quyết các vấn đề của khóa luận
- Phương pháp chuyên gia
Tham khảo ý kiến của các chuyên gia để có thể thiết kế chương trình phù hợp với yêu cầu thực tiễn Nội dung xử lý nhanh đáp ứng được yêu cầu ngày càng cao của người sử dụng
- Phương pháp thực nghiệm
Thông qua quan sát thực tế, yêu cầu của cơ sở, những lý luận được nghiên cứu và kết quả đạt được qua những phương pháp trên
7 Cấu trúc khóa luận
Ngoài phần lời cảm ơn, mở đầu, kết luận và hướng phát triển, tài liệu tham khảo, khóa luận có những nội dung sau:
Chương 1: Cơ sở lý thuyết - Chương này trình bày một số kiến thức cơ bản
về xử lý ảnh: Khái niệm xử lý ảnh, các ứng dụng, các bước cơ bản trong xử lý ảnh và trình bày một số định dạng ảnh cơ bản
Chương 2: Các phép toán hình thái - Trong chương này, khóa luận trình
bày khái niệm, đặc điểm của ảnh nhị phân và ảnh đa mức xám Phân tích và làm rõ các phép toán hình thái: Phép co, phép giãn, phép đóng, phép mở đối với ảnh nhị phân và ảnh đa mức xám Trình bày một số kỹ thuật trong xử lý ảnh: Kỹ thuật đánh trúng và đánh trượt, kỹ thuật đếm vùng, làm trơn, gradient, phân vùng theo cấu trúc và cỡ đối tượng Trong đó, các phép toán hình thái là nội dung chính được trình bày trong khóa luận
Chương 3: Xây dựng chương trình ứng dụng - Từ những kiến thức đã
nghiên cứu, khóa luận xây dựng một chương trình thử nghiệm các phép toán hình thái đối với ảnh nhị phân và ảnh đa mức xám
Trang 13Quá trình xử lý ảnh được xem như là quá trình thao tác ảnh đầu vào nhằm cho ra kết quả mong muốn Kết quả đầu ra của một quá trình xử lý ảnh
có thể là một ảnh “tốt hơn” hoặc một kết luận
Hình 1.1: Quá trình xử lý ảnh Ảnh có thể xem là tập hợp các điểm ảnh và mỗi điểm ảnh được xem như
là đặc trưng cường độ sáng hay một dấu hiệu nào đó tại một vị trí nào đó của đối tượng trong không gian và nó có thể xem như một hàm n biến P(c1, c2, ,
cn) Do đó, ảnh trong xử lý ảnh có thể xem như ảnh n chiều
Ảnh tốt hơn
Kết luận
Trang 145
Sơ đồ tổng quát của một hệ thống xử lý ảnh:
Hình 1.2: Các bước cơ bản trong một hệ thống xử lý ảnh
1.2 Các ứng dụng của xử lý ảnh
1.2.1 Biến đổi ảnh (Image Transform)
Trong xử lý ảnh do số điểm ảnh lớn các tính toán nhiều (độ phức tạp tính toán cao) đòi hỏi dung lượng bộ nhớ lớn, thời gian tính toán lâu Các phương pháp khoa học kinh điển áp dụng cho xử lý ảnh hầu hết khó khả thi Người ta
sử dụng các phép toán tương đương hoặc biến đổi sang miền xử lý khác để dễ tính toán Sau khi xử lý dễ dàng hơn được thực hiện, dùng biến đổi ngược để đưa về miền xác định ban đầu, các biến đổi thường gặp trong xử lý ảnh gồm:
- Biến đổi Fourier, Cosin, Sin
- Biến đổi ảnh bằng tích chập, tích Kronecker
- Các biến đổi khác như KL (Karhumen Loeve), Hadamard
Trang 156
1.3 Các bước cơ bản trong xử lý ảnh
Đầu tiên, ảnh tự nhiên từ thế giới ngoài được thu nhận qua các thiết bị thu (như Camera, máy chụp ảnh) Trước đây, ảnh thu qua Camera là các ảnh tương tự (loại Camera ống kiểu CCIR) Gần đây, với sự phát triển của công nghệ, ảnh màu hoặc đen trắng được lấy ra từ Camera, sau đó nó được chuyển trực tiếp thành ảnh số tạo thuận lợi cho xử lý tiếp theo Mặt khác, ảnh cũng có thể tiếp nhận từ vệ tinh, có thể quét từ ảnh chụp bằng máy quét ảnh Hình 1.3 dưới đây mô tả các bước cơ bản trong xử lý ảnh:
Hình 1.3: Các bước cơ bản trong xử lý ảnh
1.3.1 Phần thu nhận ảnh (Image Acquisition)
Ảnh có thể nhận qua camera màu hoặc đen trắng Thường ảnh nhận qua camera là ảnh tương tự (loại camera ống chuẩn CCIR với tần số 1/25, mỗi ảnh
25 dòng), cũng có loại camera đã số hoá (như loại CCD – Change Coupled Device) là loại photodiot tạo cường độ sáng tại mỗi điểm ảnh Camera thường dùng là loại quét dòng, ảnh tạo ra có dạng hai chiều Chất lượng một ảnh thu nhận được phụ thuộc vào thiết bị thu, vào môi trường (ánh sáng, phong cảnh)
1.3.2 Tiền xử lý (Image Processing)
Sau bộ thu nhận, ảnh có thể nhiễu độ tương phản thấp nên cần đưa vào
bộ tiền xử lý để nâng cao chất lượng Chức năng chính của bộ tiền xử lý là lọc nhiễu, nâng độ tương phản để làm ảnh rõ hơn, nét hơn
Biểu diễn và
mô tả
Nhận dạng và nội suy
Cơ sở tri thức
Trang 167
1.3.3 Phân đoạn (Segmentation) hay phân vùng ảnh
Phân vùng ảnh là tách một ảnh đầu vào thành các vùng thành phần để biểu diễn phân tích, nhận dạng ảnh Ví dụ: Để nhận dạng chữ (hoặc mã vạch) trên phong bì thư cho mục đích phân loại bưu phẩm, cần chia các câu, chữ về địa chỉ hoặc tên người thành các từ, các chữ, các số (hoặc các vạch) riêng biệt
để nhận dạng Đây là phần phức tạp khó khăn nhất trong xử lý ảnh và cũng dễ gây lỗi, làm mất độ chính xác của ảnh Kết quả nhận dạng ảnh phụ thuộc rất nhiều vào công đoạn này
1.3.4 Biểu diễn ảnh (Image Representation)
Đầu ra ảnh sau phân đoạn chứa các điểm ảnh của vùng ảnh (ảnh đã phân đoạn) cộng với mã liên kết với các vùng lận cận Việc biến đổi các số liệu này thành dạng thích hợp là cần thiết cho xử lý tiếp theo bằng máy tính Việc chọn các tính chất để thể hiện ảnh gọi là trích chọn đặc trưng gắn với việc tách các đặc tính của ảnh dưới dạng các thông tin định lượng hoặc làm cơ sở để phân biệt lớp đối tượng này với đối tượng khác trong phạm vi ảnh nhận được Ví dụ: Trong nhận dạng ký tự trên phong bì thư, chúng ta miêu tả các đặc trưng của từng ký tự giúp phân biệt ký tự này với ký tự khác
1.3.5 Nhận dạng và nội suy ảnh (Image Recognition and Interpretation)
Nhận dạng ảnh là quá trình xác định ảnh Quá trình này thường thu được bằng cách so sánh với mẫu chuẩn đã được lưu từ trước Nội suy là phán đoán theo ý nghĩa trên cơ sở nhận dạng Các mô hình toán học về ảnh được phân theo hai loại nhận dạng ảnh cơ bản:
- Nhận dạng theo tham số
- Nhận dạng theo cấu trúc
Một số đối tượng nhận dạng khá phổ biến hiện nay đang được áp dụng trong khoa học và công nghệ là: Nhận dạng ký tự (chữ in, chữ viết tay, chữ ký điện tử), nhận dạng văn bản, nhận dạng vân tay, nhận dạng mã vạch, nhận dạng mặt người…
Trang 178
1.3.6 Cơ sở tri thức (Knowledge Base)
Ảnh là một đối tượng khá phức tạp về đường nét, độ sáng tối, dung lượng điểm ảnh, môi trường để thu ảnh phong phú kéo theo nhiễu Trong nhiều khâu xử lý và phân tích ảnh ngoài việc đơn giản hóa các phương pháp toán học đảm bảo tiện lợi cho xử lý, người ta mong muốn bắt chước quy trình tiếp nhận và xử lý ảnh theo cách của con người Trong các bước xử lý đó, nhiều khâu hiện nay đã xử lý theo các phương pháp trí tuệ con người Vì vậy,
ở đây các cơ sở tri thức được phát huy
1.3.7 Mô tả (biểu diễn ảnh)
Ảnh sau khi số hoá sẽ được lưu vào bộ nhớ, hoặc chuyển sang các khâu tiếp theo để phân tích Nếu lưu trữ ảnh trực tiếp từ các ảnh thô, đòi hỏi dung lượng bộ nhớ cực lớn và không hiệu quả theo quan điểm ứng dụng và công nghệ Thông thường, các ảnh thô đó được biểu diễn lại (hay đơn giản là mã hoá) theo các đặc điểm của ảnh được gọi là các đặc trưng ảnh (Image
Features) như: Biên ảnh (Boundary), vùng ảnh (Region) Một số phương pháp
biểu diễn thường dùng:
• Biểu diễn bằng mã chạy (Run Length Code)
• Biểu diễn bằng mã xích (Chaine Code)
• Biểu diễn bằng mã tứ phân (Quad Tree Code)
1.3.8 Biểu diễn bằng mã chạy
Phương pháp này thường biểu diễn cho vùng ảnh và áp dụng cho ảnh nhị phân Một vùng ảnh R có thể mã hoá đơn giản nhờ một ma trận nhị phân:
- U(m, n) = 1 nếu (m, n) thuộc R
- U(m, n) = 0 nếu (m, n) không thuộc R
Trong đó: U(m, n) là hàm mô tả mức xám ảnh tại tọa độ (m, n) Với cách biểu diễn trên, một vùng ảnh được mô tả bằng một tập các chuỗi số 0 hoặc 1
Giả sử chúng ta mô tả ảnh nhị phân của một vùng ảnh được thể hiện theo tọa
Trang 18Biểu diễn bằng mã tứ phân
Phương pháp mã tứ phân được dùng để mã hoá cho vùng ảnh Vùng ảnh đầu tiên được chia làm bốn phần thường là bằng nhau Nếu mỗi vùng đã đồng nhất (chứa toàn điểm đen “1” hay trắng “0”) thì gán cho vùng đó một mã và không chia tiếp Các vùng không đồng nhất được chia tiếp làm bốn phần theo thủ tục trên cho đến khi tất cả các vùng đều đồng nhất Các mã phân chia thành các vùng con tạo thành một cây phân chia các vùng đồng nhất
Trên đây là các thành phần cơ bản trong các khâu xử lý ảnh Trong thực
tế, các quá trình sử dụng ảnh số không nhất thiết phải qua hết các khâu đó tùy theo đặc điểm ứng dụng Hình 1.4 cho sơ đồ phân tích và xử lý ảnh và lưu đồ thông tin giữa các khối một cách khá đầy đủ Ảnh sau khi được số hóa được nén, lưu lại để truyền cho các hệ thống khác sử dụng hoặc để xử lý tiếp theo Mặt khác, ảnh sau khi số hóa có thể bỏ qua công đoạn nâng cao chất lượng (khi
ảnh đủ chất lượng theo một yêu cầu nào đó) để chuyển tới khâu phân đoạn hoặc bỏ tiếp khâu phân đoạn chuyển trực tiếp tới khâu trích chọn đặc trưng
Hình 1.4 cũng chia các nhánh song song, nâng cao chất lượng ảnh có hai nhánh phân biệt: Nâng cao chất lượng ảnh (tăng độ sáng, độ tương phản, lọc nhiễu) hoặc khôi phục ảnh (hồi phục lại ảnh thật khi ảnh nhận được bị méo) …
Trang 19+ 2 byte tiếp theo: Chứa độ dài mẫu tin Đó là độ dài của dãy các byte
kề liền nhau mà dãy này sẽ được lặp lại một số lần nào đó Số lần lặp này sẽ được lưu trong byte đếm Nhiều dãy giống nhau được lưu trong một byte + 4 byte tiếp: Mô tả kích cỡ pixel
+ 2 byte tiếp: Số pixel trên một dòng ảnh
+ 2 byte cuối: Số dòng ảnh trong ảnh
Ảnh IMG được nén theo từng dòng Mỗi dòng bao gồm các gói (pack) Các dòng giống nhau cũng được nén thành một gói Có 4 loại gói sau:
Loại 1: Gói các dòng giống nhau
Cảnh
quan
Nén ảnh
Lưu ảnh
Phân đoạn
Khôi phục ảnh
Nâng chất lượng ảnh
Trích chọn đặc trưng
Trích chọn quan
hệ
Phân tích thống
kê cấu trúc Ảnh
số
Thu
ảnh
Số hóa
Ảnh tương tự
Truyền ảnh
Mô tả
và nội suy
Thu nhận ảnh
Ảnh được cải thiện
Trang 2011
Quy cách gói tin này như sau: 0x00 0x00 0xFF Count Ba byte đầu cho biết số các dãy giống nhau, byte cuối cho biết số các dòng giống nhau
Loại 2: Gói các dãy giống nhau
Quy cách gói tin này như sau: 0x00 Count Byte thứ hai cho biết số các dãy giống nhau được nén trong gói Độ dài của dãy ghi ở đầu tệp
Loại 3: Dãy các pixel không giống nhau, không lặp lại và không nén được
Qui cách như sau: 0x80 Count Byte thứ hai cho biết độ dài dãy các pixel không giống nhau không nén được
Loại 4: Dãy các pixel giống nhau
Tuỳ theo các bit cao của byte đầu được bật hay tắt Nếu bit cao được bật (giá trị 1) thì đây là gói nén các byte chỉ gồm bit 0, số các byte được nén được tính bởi 7 bit thấp còn lại Nếu bit cao tắt (giá trị 0) thì đây là gói nén các byte gồm toàn bit 1 Số các byte được nén được tính bởi 7 bit thấp còn lại
Các gói tin của file IMG phong phú như vậy là do ảnh IMG là ảnh đen trắng, do vậy chỉ cần 1 bit cho 1 pixel thay vì 4 hoặc 8 như đã nói ở trên Toàn bộ ảnh chỉ có những điểm sáng và tối tương ứng với giá trị 1 hoặc giá trị
0 Tỷ lệ nén của kiểu định dạng này là khá cao
1.4.2 Định dạng ảnh PCX
Định dạng ảnh PCX là một trong những định dạng ảnh cổ điển nhất Nó
sử dụng phương pháp mã loạt dài RLE (Run Length Encoded) để nén dữ liệu ảnh Quá trình nén và giải nén được thực hiện trên từng dòng ảnh Thực tế, phương pháp giải nén PCX kém hiệu quả hơn so với kiểu IMG Tệp PCX gồm 3 phần: Đầu tệp (header), dữ liệu ảnh (image data) và bảng màu mở rộng Header của tệp PCX có kích thước cố định gồm 128 byte và được phân bố như sau:
+ 1 byte: Chỉ ra kiểu định dạng Nếu là kiểu PCX / PCC nó luôn có giá trị là 0Ah
+ 1 byte: Chỉ ra version sử dụng để nén ảnh, có thể có các giá trị sau:
Trang 2112
0: Version 2.5
2: Version 2.8 với bảng màu
3: Version 2.8 hay 3.0 không có bảng màu
5: Version 3.0 có bảng màu
+ 1 byte: Chỉ ra phương pháp mã hoá Nếu là 0 thì mã hoá theo phương pháp BYTE PACKED, nếu không là phương pháp RLE
+ 1 byte: Số bit cho một điểm ảnh plane
+ 1 word: Tọa độ góc trái trên của ảnh Với kiểu PCX có giá trị là (0, 0), còn PCC thì khác (0, 0)
+ 1 word: Tọa độ góc phải dưới
+ 1 word: Kích thước bề rộng và bề cao ảnh
+ 1 word: Số điểm ảnh
+ 1 word: Độ phân giải màn hình
+ 48 byte: Chia thành 16 nhóm, mỗi nhóm 3 byte Mỗi nhóm này chứa thông tin về một thanh ghi màu Như vậy ta có 16 thanh ghi màu
+ 1 byte: Không dùng đến và luôn đặt là 0
+1 byte: Số bit plane mà ảnh sử dụng Với ảnh 16 màu, giá trị này là 4, với ảnh 256 màu (1 pixel / 8 bit) thì số bit plane lại là 1
+ 1 byte: Số byte cho một dòng quét ảnh
+ 1 word: Kiểu bảng màu
+ 58 byte: Không dùng
Định dạng ảnh PCX thường được dùng để lưu trữ ảnh vì thao tác đơn giản, cho phép nén và giải nén nhanh Tuy nhiên vì cấu trúc của nó cố định, nên trong một số trường hợp nó làm tăng kích thước lưu trữ Và cũng vì
Trang 22trong một hộp chữ nhật, thì có thể hình dung tệp ảnh BMP như hình vẽ sau:
Hình 1.5: Định dạng ảnh BMP
1.4.4 Định dạng ảnh GIF
Cách lưu trữ kiểu PCX có lợi về không gian lưu trữ: Với ảnh đen trắng kích thước tệp có thể nhỏ hơn bản gốc từ 5 đến 7 lần Với ảnh 16 màu, kích thước ảnh nhỏ hơn ảnh gốc 2 3 lần, có trường hợp có thể xấp xỉ ảnh gốc Tuy nhiên, với ảnh 256 màu thì nó bộc lộ rõ khả năng nén rất kém Điều này
có thể lý giải như sau: Khi số màu tăng lên, các loạt dài xuất hiện ít hơn và vì thế, lưu trữ theo kiểu PCX không còn lợi nữa Hơn nữa, nếu ta muốn lưu trữ nhiều đối tượng trên một tệp ảnh như kiểu định dạng TIFF, đòi hỏi có một định dạng khác thích hợp
Định dạng ảnh GIF do hãng ComputServer Incorporated (Mỹ) đề xuất lần đầu tiên vào năm 1990 Với định dạng GIF, những vướng mắc mà các định dạng khác gặp phải khi số màu trong ảnh tăng lên không còn nữa Khi số
256 màu: 1 byte / 1 điểm ảnh
16 màu: 1 byte / 2 điểm ảnh
2 màu: 1 byte / 8 điểm ảnh
Trang 2314
màu càng tăng thì ưu thế của định dạng GIF càng nổi trội Những ưu thế này
có được là do GIF tiếp cận các thuật toán nén LZW (Lempel Ziv Welch) Bản chất của kỹ thuật nén LZW là dựa vào sự lặp lại của một nhóm điểm chứ không phải loạt dài giống nhau Do vậy, dữ liệu càng lớn thì sự lặp lại càng nhiều Dạng ảnh GIF cho chất lượng cao, độ phân giải đồ họa cũng đạt cao, cho phép hiển thị trên hầu hết các phần cứng đồ họa
Do vậy, dữ liệu càng lớn thì sự lặp lại càng nhiều Dạng ảnh GIF cho chất lượng cao, độ phân giải đồ họa cũng đạt cao, cho phép hiển thị trên hầu hết các phần cứng đồ họa
Định dạng GIF có rất nhiều ưu điểm và đã được công nhận là chuẩn để lưu trữ ảnh màu thực tế (chuẩn ISO 10918 1) Nó được mọi trình duyệt Web (Web Browser) hỗ trợ với nhiều ứng dụng hiện đại Cùng với nó có chuẩn JPEG (Joint Photograph Expert Group) GIF dùng cho các ảnh đồ họa (Graphic), còn JPEG dùng cho ảnh chụp (Photographic)
1.4.5 Định dạng ảnh JPEG
Phương pháp nén ảnh JPEG (Joint Photographic - Experts Group) là một trong những phương pháp nén ảnh hiệu quả, có tỷ lệ nén ảnh tới vài chục lần Tuy nhiên ảnh sau khi giải nén sẽ khác với ảnh ban đầu Chất lượng ảnh bị suy giảm sau khi giải nén Sự suy giảm này tăng dần theo hệ số nén Tuy nhiên sự mất mát thông tin này là có thể chấp nhận được và việc loại bỏ những thông tin không cần thiết được dựa trên những nghiên cứu về hệ nhãn thị của mắt người Phần mở rộng của các file JPEG thường có dạng “.JPEG”, “.JFIF”, “.JPG”,
“.JPG” hay “.JPE”, định dạng “.JPG” là định dạng được dùng phổ biến nhất
1.4.6 Định dạng ảnh PNG
PNG (Portable Network Graphics) là một dạng hình ảnh sử dụng phương pháp nén dữ liệu mới, không làm mất đi dữ liệu gốc PNG được tạo ra nhằm cải thiện và thay thế định dạng ảnh GIF với một định dạng hình ảnh không đòi hỏi phải có giấy phép sáng chế khi sử dụng PNG được hỗ trợ bởi thư viện
Trang 2415
tham chiếu LIBPNG (Library Portable Network Graphics), một thư viện nền tảng độc lập bao gồm các hàm của C để quản lý các hình ảnh PNG
Những tập tin PNG thường có phần mở rộng là PNG và đã được gán kiểu chuẩn MIME là image / png (được công nhận vào ngày 14 tháng 10 năm 1996)
Trang 2516
CHƯƠNG 2: CÁC PHÉP TOÁN HÌNH THÁI
2.1 Thao tác trên ảnh nhị phân
Ảnh nhị phân là tập hợp các bit được lưu giữ trong bộ nhớ máy tính, được bố trí thành một ma trận chữ nhật để biểu diễn các ảnh thật Màn hình máy tính là một dạng ảnh nhị phân mà người sử dụng nhìn thấy được Ảnh nhị phân là ảnh chỉ có 2 giá trị mức xám là:
1: Biểu diễn đối tượng ảnh và được gọi là điểm đen
0: Biểu diễn nền ảnh (phông ảnh) và được gọi là điểm trắng
+ Ảnh nhị phân phù hợp để biểu diễn các biên, vùng ảnh của ảnh số
+ Tập tin của ảnh nhị phân là tập hợp các điểm đen
Hình 2.1: Thao tác nhị phân đơn giản trên một ảnh nhỏ (a) Ảnh ban đầu;
Trang 2617
Ax = {c|c = a + x, a A} (2.1) Nếu x có toạ độ (1, 2), khi đó điểm ảnh đầu tiên phía trên bên trái của A
sẽ dịch đến vị trí: (3, 3) + (1, 2) = (4, 5) Các điểm ảnh khác trong A sẽ dịch chuyển một cách tương ứng, tức ảnh được dịch sang phải (cột) điểm ảnh và xuống phía dưới (hàng) điểm ảnh
Phép đối của tập A được định nghĩa như sau:
Đó chính là phép quay A một góc 180° so với ban đầu
Phần bù của tập A là tập các điểm ảnh không thuộc đối tượng A, ở đây chính là các điểm ảnh trắng Theo lý thuyết tập hợp thì:
Giao của hai tập hợp A và B là tập các phần tử thuộc về cả A lẫn B, kí hiệu:
A B = {c|(c A) (c B)} (2.4) Hợp của hai tập hợp A và B là tập các phần tử thuộc A hoặc B, kí hiệu:
A B = {c|(c A) (c B)} (2.5) Hiệu của hai tập hợp A và B là tập:
Những phần tử trong tập C = A B được tính dựa trên phương trình (2.7) có thể viết lại như sau:
C= A B = (A + {(0, 0)}) (A + {(0, 1)}) (2.8)
Trang 27Trong đó, tập C gọi là kết quả của phép dãn A sử dụng phần tử cấu trúc
B và gồm các phần tử nhƣ đƣợc mô tả ở trên, tuy nhiên một vài điểm trong số chúng có thể trùng nhau
0000
0
0000
0
0000
0
1100
0
1100
0
00000
00000
00000
11000
11000
0000
0
0000
0
0000
0
0000
0
1100
0
1100
0
00000
00000
00000
11000
11000
11000
Hình 2.2: Dãn A bởi B (a) Ảnh A, B ban đầu; (b) Ảnh A cộng phần tử (0,0); (c) A cộng phần tử (0,1); (d) Hợp của (b) và (c) hay kết quả phép dã
Trang 2819
(c)
Nhìn hình 2.2 những phần tử được đánh dấu là gốc tọa độ Việc xác định
vị trí của gốc cấu trúc là rất quan trọng, nó có thể quyết định hướng co dãn của ảnh Nếu gốc ở bên trái, thì ảnh có xu hướng co dãn về bên phải, gốc ở bên phải thì co dãn về trái và nếu gốc ở giữa thì ảnh sẽ dãn đều Trong thí dụ trên do gốc của cấu trúc B ở bên phải nên ảnh được dãn về bên trái Nếu như gốc chứa một điểm ảnh trắng, khi đó nói rằng gốc không được bao gồm trong tập B Thông thường, để dãn ảnh đều về tất cả các phía, thường sử dụng cấu trúc có dạng ma trận 33 với gốc ở chính giữa
Xét thêm một ví dụ, ví dụ này sẽ cho thấy sự dãn về hai phía nếu như sử dụng cấu trúc có gốc ở giữa và gốc chứa một điểm ảnh trắng Trong trường hợp cấu trúc có điểm ảnh trắng ở gốc thì kết luận rằng gốc không được bao gồm trong cấu trúc
Nhìn vào hình 2.3 dưới đây ta có:
Phép dãn của A1 bởi B1 là hợp của A1(0, -1) và A1(0, 1)
Nhận thấy rằng trong hình 2.3 có một số phần tử của đối tượng ban đầu sẽ không có
0 0 0 0
0
0 0 1 1
0
0 1 1 1
0
0 1 1 0
0
1 0 0 0
0
101
00010
00010
01110
11110
01100
10000
Hình 2.3: Dãn mất điểm ảnh (a) Ảnh A1; (b) Ảnh B1; (c) A1 được dãn bởi B1
A1=
Trang 29tử đen của mẫu và gửi vào một ảnh mới với vị trí thích hợp, gọi là ảnh kết quả, ảnh này ban đầu chỉ gồm các điểm trắng Khi đó ảnh kết quả chính là ảnh được dãn Điều này được thể hiện khá rõ trong hình 2.4 dưới đây:
Hình 2.4: Dãn ảnh sử dụng phần tử cấu trúc (a) Góc cấu trúc định vị trên điểm ảnh đen đầu tiên và những điểm đen cấu trúc được chép sang ảnh kết quả ở những vị trí tương ứng; (b) Quá tình tương
tự với điểm đen tiếp theo; (c) Quá trình hình thành
Trang 3021
2.1.2 Phép co nhị phân (Erosion)
Phép dãn là thêm điểm ảnh vào trong đối tượng ảnh, làm cho đối tượng ảnh trở nên lớn hơn thì phép co sẽ làm cho đối tượng ảnh trở nên nhỏ hơn, ít điểm ảnh hơn (coi đối tượng ảnh là những điểm ảnh đen) Tưởng tượng rằng một ảnh nhị phân có những điểm ảnh đen (đối tượng ảnh) và điểm ảnh trắng (nền) Từ ảnh ban đầu, thay các điểm đen (mà lân cận của nó có ít nhất một điểm trắng) thành trắng Khi đó ảnh nhận được là ảnh được co bằng phép co đơn giản Trong phép co này, mẫu được dùng chính là mảng 33 của các điểm ảnh đen, đã được nói đến trong phép dãn nhị phân
Phép co một ảnh A bởi cấu trúc B có thể được định nghĩa như là tập:
Đó là tập hợp các điểm ảnh c A mà nếu cấu trúc B dịch chuyển theo các toạ độ của c thì B vẫn nằm trong đối tượng ảnh A, tức B là một tập con của đối tượng ảnh cần co A Tuy nhiên, điều đó chưa chắc đã đúng nếu như phần tử cấu trúc B không chứa gốc (tức điểm ảnh gốc màu trắng)
Xét một ví dụ đơn giản sau đây: Xét phần tử cấu trúc B ={(0, 0) (0, 1)}
và đối tượng ảnh A = {(3, 3) (3, 4) (4, 3) (4, 4)} không cần thiết phải quan tâm đến tọa độ các điểm đen của A, mà chỉ cần quan tâm đến những tọa độ của các điểm đen của A mà khi di mẫu B trên đối tượng ảnh A thì gốc của B trùng một điểm ảnh đen của A Ở đây cần quan tâm tới bốn tọa độ của bốn điểm đen của A sau: B(3, 3) = {(3, 3) (3, 4)} tức là dịch các điểm ảnh của B sang phải 3 và xuống dưới 3
Tương tự có:
B(4, 3) = {(4, 3) (4, 4)}
B(3, 4) = {(3, 4) (3, 5)}
B(4, 4) = {(4, 4) (4, 5)}
Trang 3122
Trong hai trường hợp đầu B(3, 3) và B(4, 3), tập hợp các điểm đen mà B dịch chuyển theo các tọa độ của chúng sao cho A sẽ xuất hiện trong phép co
A bởi B Điều này sẽ được minh họa rõ ràng qua hình 2.5
Nếu như trong cấu trúc B không chứa gốc, cấu trúc B2 = {(0, 1)} Khi đó cách tính toán tương tự như trên, nhưng không nhất thiết gốc phải trùng điểm ảnh đen khi di mẫu trên đối tượng ảnh A, kết quả như sau:
Hình 2.5: Phép co nhị phân (a) Phần tử cấu trúc được dịch chuyển đến vị trí một điểm đen trong ảnh Trong trường hợp này, các thành viên của cấu trúc đều phù hợp với những điểm đen của ảnh cho nên cho kết quả điển đen; (b) Phần tử cấu trúc dịch chuyển tới điểm ảnh tiếp theo trong ảnh, và có một điểm không phù hợp và kết quả là điểm trắng; (c) Ở lần dịch chuyển tiếp theo, các thành viên của cấu trúc lại phù hợp nên kết quả là điển đen; (d) Tương tự được kết quả cuối cùng là điểm trắng
Phép co và phép dãn không phải là những thao tác ngược nhau Có thể trong một số trường hợp đúng là phép co sẽ giải hoạt hiệu quả của phép dãn
Trang 32Khi đó:
Hay phần bù của phép co A bởi B đƣợc coi nhƣ phép dãn nền của ảnh A (quy ƣớc trong ảnh nhị phân rằng: Đối tƣợng ảnh là những điểm đen quan sát, ảnh A là bao gồm cả điểm đen và nền) Biểu thức (2.13) sẽ đƣợc chứng minh: Theo định nghĩa của phép co ở trên:
Trang 3324
Thao tác co ảnh cũng đưa ra một vấn đề mà không hề liên quan đến phép dãn, vấn đề đó hiểu là phần tử cấu trúc có thể “tạm bỏ qua” Tức là khi sử dụng một cấu trúc nhị phân chặt chẽ để thực hiện một phép co ảnh, những điểm ảnh đen trong cấu trúc phải phù hợp với các đối tượng nhằm mục đích sao cho điểm ảnh cần quan tâm phải được đưa vào ảnh kết quả Tuy nhiên điều đó không đúng cho những điểm ảnh trắng trong cấu trúc Ý nghĩa của “tạm bỏ qua” chính là: Không quan tâm đến sự phù hợp giữa điểm ảnh trong đối tượng ảnh và điểm trắng trong cấu trúc, nói cách khác không quan tâm đến những điểm ảnh trắng trong cấu trúc trong trường hợp này
Hình 2.6 dưới đây sẽ minh họa rõ hơn cách dùng cấu trúc cho phép co ảnh trong ngữ cảnh thực tế
Hình 2.6: Xoá hình thái những dòng ngang của khuông nhạc
(a) Ảnh gốc; (b) Phần tử cấu trúc; (c) Kết quả phép co (a) bởi (b); (d) Kết quả phép dãn cùng cấu trúc; (e) Lấy (a) trừ (d); (f) Sử dụng toán tử hình thái đơn giản để điền vào ô trống
2.1.3 Phép mở nhị phân (Opening)
Áp dụng phép co ảnh đối với một ảnh và sau đó lại áp dụng tiếp phép dãn ảnh đối với kết quả trước thì thao tác đó được gọi là phép mở ảnh, hay với I là ảnh, D là phép dãn (Dilation) và E là phép co (Erosion)
Opening(I) = D(E(I)) Tên của phép toán “mở” ảnh dường như đã phản ánh rõ tác dụng của nó Tác dụng của nó chính là “mở” những khoảng trống nhỏ giữa các phần tiếp xúc trong đối tượng ảnh Hình 2.7 trình bày ảnh có những phần của nó tiếp xúc nhau Sau thao tác mở đơn giản đối tượng ảnh đã dễ nhận hơn so với ban đầu
Trang 3425
Hình 2.7 cũng minh họa một đối tượng khác Tương tự, sử dụng phép
mở ảnh và nhiễu ở giữa số 3 đã biến mất Bước co trong phép mở ảnh sẽ xoá những điểm ảnh cô lập được coi như những biên và phép dãn ảnh tiếp sau sẽ khôi phục lại các điểm biên và loại nhiễu Việc xử lý này chỉ thành công với những nhiễu đen còn những nhiễu trắng thì không
Ví dụ đã xét ở hình 2.6 cũng có thể coi là một phép mở nhưng phần tử cấu trúc ở đây phức tạp hơn Ảnh được xói mòn chỉ còn lại một đường ngang
và sau đó được dãn ra bởi phần tử cấu trúc tương tự Quan sát hình 2.7 về ảnh xói mòn Đó là các điểm đen trừ những hình vuông nhỏ màu đen, hay có thể nói rằng nó xoá mọi thứ trừ những gì mà cần quan tâm
Hình 2.7: Sử dụng phép toán mở (a) Một ảnh có nhiều vật thể được liên kết; (b) Các vật thể được cách ly bởi phép mở với cấu trúc đơn giản; (c) Một ảnh có nhiễu; (d) Ảnh nhiễu sau khi
sử dụng phép mở, các điểm nhiễu đen đã biến mất
2.1.4 Phép đóng nhị phân (Closing)
Tương tự phép mở ảnh nhưng trong phép đóng ảnh, thao tác dãn ảnh được thực hiện trước, sau đó mới đến thao tác co ảnh và cùng làm việc trên cùng một phần tử cấu trúc
Close (I) = E(D(I)) Nếu như phép mở ảnh tạo ra những khoảng trống nhỏ trong điểm ảnh thì trái lại, phép đóng ảnh sẽ lấp đầy những chỗ hổng đó Phép đóng ảnh có tác dụng trong việc xoá những nhiễu trắng trong đối tượng ảnh mà phép mở ảnh chưa thực hiện
Trang 3526
Hình 2.8(b) và hình 2.8(c) trình bày một ứng dụng của phép co ảnh nhằm nối lại những nét gãy ảnh ban đầu hình 2.8(b) là một bản mạch, sau khi sử dụng phép co các điểm gãy đã được liên kết nhau ở một số điểm ảnh Phép đóng ảnh này đã gắn được nhiều điểm ảnh gãy, nhưng không phải là tất cả Điều quan trọng nhận thấy rằng khi sử dụng những ảnh thực, thật hiếm khi xử lý ảnh một cách hoàn chỉnh mà chỉ cần một kỹ thuật, phải sử dụng nhiều phần tử cấu trúc
mà có khi có những kỹ thuật nằm ngoài phép toán hình thái
Đóng ảnh cũng có thể được sử dụng để làm trơn những đường viền của những đối tượng trong một ảnh Việc phân ngưỡng có thể đưa ra một sự xuất hiện những điểm nhám trên viền Trong những trường hợp khác, đối tượng nhám tự nhiên, còn nhám do ảnh chụp có thể dùng phương pháp đóng ảnh để
xử lý Tuy nhiên có thể phải sử dụng nhiều hơn một mẫu cấu trúc, kể từ khi cấu trúc đơn giản chỉ sử dụng cho việc xoá hoặc làm trơn những điểm ảnh cá biệt Khả năng khác chính là việc lặp lại số phép co tương tự sau khi thực hiện
số phép dãn nào đó
Hình 2.8: Phép đóng (a) Kết quả đóng của hình 2.7(d) sử dụng cấu trúc đơn giản; (b) Ảnh của một bảng mạch được phân ngưỡng và có các vết đứt; (c) Ảnh tương tự sau khi đóng nhưng những nét đứt đã được nối liền
Trước tiên, quan tâm đến những ứng dụng làm trơn và vì mục đích này
ra sẽ sử dụng để làm thí dụ Trong hình 2.9(a) đã được thực hiện cả 2 phép đóng và mở và nếu thực hiện tiếp phép đóng sẽ không gây thêm bất kì một thay đổi nào Tuy nhiên viền của đối tượng ảnh vẫn còn gai và vẫn có những
Trang 3627
lỗ hổng trắng bên trong của đối tượng Sử dụng phép mở với độ sâu 2, tức là sau khi co 2 lần thì dãn 2 lần, khi đó nó sẽ cho ta kết quả là hình 2.9(a) Chú ý rằng những lỗ trước đây đã được đóng và viền bây giờ có vẻ như trơn hơn so với trước Phép mở 3 chiều, tương tự chỉ gây ra thay đổi rất nhỏ so với 2 chiều hình 2.9(b), chỉ có thêm một điểm ảnh bên ngoài được xoá Nhìn chung,
sự thay đổi không đáng kể
Hầu hết những phép đóng mở ảnh sử dụng những phần tử cấu trúc trong thực tế Cách tiếp cận cổ điển để tính toán một phép mở với độ sâu N cho trước là thực hiện N phép co nhị phân và sau đó là N phép dãn nhị phân Điều này có nghĩa là để tính tất cả các phép mở của một ảnh với độ sâu 10 thì phải thực hiện tới 10 phép co và 10 phép dãn Nếu phép co và dãn lại được thực hiện một cách thủ công thì phải đòi hỏi tới 20 lần quét qua ảnh
Hình 2.9: Phép đóng với độ sâu lớn (a) Sử dụng phép đóng với độ sâu 2; (b) Phép đóng với độ sâu 3; (c) Một vùng bàn cờ; (d) Vùng bàn cờ được phân ngưỡng thể hiện những điểm bất quy tắc và một vài lỗ; (e) Sau khi thực hiện phép đóng với độ sâu 1; (f) Sau khi thực hiện phép đóng với độ sâu 2
Một phương thức co nhanh dựa trên bản đồ khoảng cách của mỗi đối tượng, ở đây giá trị số của mỗi điểm ảnh được thay thế bởi giá trị mới đại diện cho khoảng cách của điểm ảnh đó so với điểm ảnh nền gần nhất Những điểm ảnh trên một đường viền sẽ mang giá trị 1, có nghĩa là chúng có độ dày 1 tính
từ điểm ảnh nền gần nhất Tương tự, nếu cách điểm ảnh nền 2 điểm thì mang giá trị 2 và cứ như thế Ví dụ, đối tượng được trình bày trong hình 2.10(a) có
(a) (b) (c) (d) (e) (f)
Trang 3728
bản đồ khoảng cách được trình bày trong hình 2.10(b) Bản đồ khoảng cách chứa đủ thông tin để thực hiện phép co với bất kì số điểm ảnh nào chỉ trong một lần di mẫu qua ảnh Mặt khác, tất cả các phép co đã được mã hoá thành một ảnh Ảnh co tổng thể này có thể được tạo ra chỉ trong 2 lần di qua ảnh gốc và một phép phân ngưỡng đơn giản sẽ đưa cho ta bất kì phép co nào mà
ta muốn
Cũng có một cách tương tự cách của phép co tổng thể, mã hoá tất cả các phép mở có thể thành một ảnh chỉ một mức xám và tất cả các phép đóng có thể được tính toán đồng thời Trước hết, như phép co tổng thể bản đồ khoảng cách của ảnh được tìm ra Sau đó tất cả các điểm ảnh mà không có tối thiểu một lân cận gần hơn đối với nền và một lân cận xa hơn đối với nền, sẽ được định vị và đánh dấu: Những điểm ảnh này sẽ được gọi là những điểm nút Hình 2.10(c) trình bày những điểm nút có liên quan đến đối tượng hình 2.10(a) Nếu bản đồ khoảng cách được nghĩ như một bề mặt ba chiều, mà trong đó khoảng tính từ nền được xem như chiều cao, do vậy mà mỗi điểm ảnh có thể được nghĩ như chóp của một tháp với độ nghiêng được tiêu chuẩn hoá Những chóp đó không được bao gồm trong bất kì một tháp khác là những điểm nút Một cách để định vị những điểm nút là quét bản đồ khoảng cách, quan sát các điểm ảnh đối tượng, tìm giá trị MIN và MAX của các lân cận của điểm ảnh quan tâm và tính (MAX - MIN): Nếu giá trị này nhỏ hơn MAX có thể nó là 2 khi sử dụng 8 khoảng cách thì điểm đó chính là nút