Đồ án Tìm hiểu phép toán hình thái - Vũ Việt Hà
Bạn đang xem 20 trang mẫu của tài liệu "Đồ án Tìm hiểu phép toán hình thái - Vũ Việt Hà", để 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:
- do_an_tim_hieu_phep_toan_hinh_thai_vu_viet_ha.pdf
Nội dung text: Đồ án Tìm hiểu phép toán hình thái - Vũ Việt Hà
- Đề tài tốt nghiệp Tìm hiểu phép toán hình thái LỜI CẢM ƠN 2 LỜI NÓI ĐẦU 3 CHƢƠNG I 5 SƠ LƢỢC VỀ XỬ LÝ ẢNH VÀ PHÉP TOÁN HÌNH THÁI 5 1.1 Xử lý ảnh 5 1.2. Các quá trình của xử lý ảnh 6 1.3. Khái niệm về phép toán hình thái MORPHOLOGY 7 CHƢƠNG II 8 THAO TÁC VỚI HÌNH THÁI HỌC 8 2.1. Thao tác trên ảnh nhị phân 8 2.1.1. Phép dãn nhị phân(Dilation) 9 2.1.2. Phép co nhị phân (Erosion) 13 2.1.3. Các phép toán đóng mở ảnh (closing and opening) 17 2.1.4. Kĩ thuật „ Đánh trúng và Đánh trƣợt „ 23 2.1.5. Kĩ thuật đếm vùng 25 2.2. Thao tác trên ảnh xám 26 2.2.1. Phép co và phép dãn 26 2.2.2. Các phép toán đóng, mở 27 2.2.3. Làm trơn 28 2.2.4. Gradient 29 2.2.5. Phân vùng theo cấu trúc 30 2.2.6. Phân loại cỡ đối tƣợng. 31 2.3. Thao tác trên ảnh màu 33 CHƢƠNG III 35 ỨNG DỤNG CỦA HÌNH THÁI HỌC 35 3.1. Ứng dụng thực tiễn 35 3.2. Xƣơng và làm mảnh 36 3.3. Các phƣơng pháp lặp hình thái học 38 3.4. Nhận dạng biên 46 CHƢƠNG IV: 47 CÀI ĐẶT 47 KẾT LUẬN 50 TÀI LIỆU THAM KHẢO 52 1 Sinh viên thực hiện: Vũ Việt Hà - Lớp CT901 - Khoá 9 - Ngành Công nghệ thông tin
- Đề tài tốt nghiệp Tìm hiểu phép toán hình thái LỜI CẢM ƠN Trƣớc hết em xin đƣợc bày tỏ lòng biết ơn sâu sắc đối với thầy giáo hƣớng dẫn PGS.TS.Ngô Quốc Tạo, Viện Công Nghệ Thông Tin-Viện khoa học và công nghệ Việt Nam đã tận tình giúp đỡ, chỉ bảo em trong thời gian vừa qua và đã dành rất nhiều thời gian quí báu để giúp em hoàn thành đề tài đƣợc giao. Em xin gửi lời cảm ơn đến Ban giám hiệu, các Thầy cô giáo của Trƣờng Đại học Dân Lập Hải Phòng đã giảng dạy chúng em trong suốt quãng thời gian qua, cung cấp cho chúng em những kiến thức chuyên môn cần thiết và quý báu giúp chúng em hiểu rõ hơn các lĩnh vực đã nghiên cứu để hoàn thành đề tài đƣợc giao . Xin cảm ơn các bạn bè và gia đình đã động viên cổ vũ, đóng góp ý kiến, trao đổi, động viên trong suốt quá trình học cũng nhƣ làm tốt nghiệp, giúp em hoàn thành đề tài đúng thời hạn. Hải Phòng, tháng 7 năm 2009 Sinh viên Vũ Việt Hà 2 Sinh viên thực hiện: Vũ Việt Hà - Lớp CT901 - Khoá 9 - Ngành Công nghệ thông tin
- Đề tài tốt nghiệp Tìm hiểu phép toán hình thái LỜI NÓI ĐẦU Hình ảnh là một dạng dữ liệu đóng vai trò quan trọng trong việc trao đổi, xử lý, lƣu giữ thông tin Trong chúng ta có lẽ không có ai đã không từng sử dụng hình ảnh cho một mục đích nào đấy. Trong nhiều ngành nghề, trong một số các loại hình công việc, ngƣời ta điều cần đến hình ảnh để mô tả, minh chứng hay diễn đạt những điều mà đôi khi chữ viết hay ngôn ngữ nói không lột tả hết đƣợc. Đặ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 qủa ngôn ngữ kỹ thuật, Mà qua nó, một qui 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 đồ hoạ 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. Nhƣng phải tổ chức việc lƣu các dạng hình ảnh này nhƣ thế nào? Có cần xử lý gì trƣớc khi lƣu chúng không? Câu trả lời là có. 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. Trong luận văn này chỉ mô tả một vài phƣơng pháp tiền xử lý hình ảnh, (chú trọng đến ảnh nhị phân, bởi ảnh của các bản vẽ kỹ thuật thƣờng chỉ là ảnh 2 màu: đen, trắng) để cải thiện chất lƣợng hình ảnh bằng các thao tác Hình thái học (Morphology), một vài kỹ thuật phát hiện xƣơng, làm mảnh. 3 Sinh viên thực hiện: Vũ Việt Hà - Lớp CT901 - Khoá 9 - Ngành Công nghệ thông tin
- Đề tài tốt nghiệp Tìm hiểu phép toán hình thái Đồ án bao gồm : Chƣơng 1:Sơ lƣợc về xử lý ảnh và Morphology. Giới thiệu sơ bộ về xử lý ảnh và ứng dụng của nó. Chƣơng 2 :Thao tác với Morphology Chƣơng này là chƣơng chính giới thiệu về các thao tác với ảnh nhị phân, ảnh đa cấp xám. Cụ thể đó là các thao tác nhƣ : Phép dãn, phép co, phép đóng mở ảnh, đánh trúng đánh trƣợt và kĩ thuật đếm vùng.Trong ảnh đa cấp xám, ta còn đề cập đến phép toán làm trơn ảnh, phƣơng pháp gradient, cách phân vùng theo cấu trúc, cách phân loại cỡ đối tƣợng. Bên cạnh các thao tác có kèm theo ý nghĩa của chúng, có thuật toán và có hình minh hoạ. Chƣơng 3:Ứng dụng của Morphology Trong chƣơng này của Đồ án giới thiệu về ý nghĩa của hình thái học trong thực tiễn và các ứng dụng nói chung của thao tác hình thái. Đặc biệt, trong chƣơng này có trình bày khá chi tiết một ứng dụng của phép toán hình thái có tính thiết thực. Chƣơng 4:Cài đặt. Trình bày quá trình cài đặt chi tiết một số thao tác hình thái học. 4 Sinh viên thực hiện: Vũ Việt Hà - Lớp CT901 - Khoá 9 - Ngành Công nghệ thông tin
- Đề tài tốt nghiệp Tìm hiểu phép toán hình thái CHƢƠNG I SƠ LƢỢC VỀ XỬ LÝ ẢNH VÀ PHÉP TOÁN HÌNH THÁI 1.1 Xử lý ảnh Cũng nhƣ xử lý dữ liệu bằng đồ hoạ, xử lý ảnh số là một lĩnh vực của tin học ứng dụng. Xử lý dữ liệu bằng đồ họa đề cập đến những ảnh nhân tạo, các ảnh này đƣợc xem xét nhƣ là một cấu trúc dữ liệu và đƣợc tạo ra bởi các chƣơng trình. Xử lý ảnh số bao gồm các phƣơng pháp và kỹ thuật để biến đổi, để truyền tải hoặc mã hóa các ảnh tự nhiên. Mục đích của xử lý ảnh gồm: Thứ nhất: biến đổi ảnh và làm đẹp ảnh. Thứ hai: tự động phân tích nhận dạng ảnh hay đoán nhận ảnh và đánh giá các nội dung của ảnh. Nhận dạng ảnh là quá trình liên quan đến các mô tả đối tƣợng mà ngƣời ta muốn đặc tả nó. Quá trình nhận dạng thƣờng đi sau quá trình trích chọn các đặc tính chủ yếu của đối tƣợng. Có hai kiểu mô tả đối tƣợng: - Mô tả tham số (nhận dạng theo tham số). - Mô tả theo cấu trúc(nhận dạng theo cấu trúc). Nhận biết và đánh giá các nội dung của ảnh là sự phân tích một hình ảnh thành những phần có nghĩa để phân biệt đối tƣợng này với đối tƣợng khác. Dựa vào đó ta có thể mô tả cấu trúc của hình ảnh ban đầu. Có thể liệt kê một số phƣơng pháp nhận dạng cơ bản nhƣ nhận dạng biên của một đối tƣợng trên ảnh, tách cạnh, phân đoạn hình ảnh Kỹ thuật này đƣợc sử dụng nhiều trong y học (xử lý tế bào, nhiễm sắc thể). Trong thực tế, ngƣời ta đã áp dụng kỹ thuật nhận dạng khá thành công với nhiều đối tƣợng khác nhau nhƣ: Nhận dạng ảnh vân tay, nhận dạng chữ (chữ cái, chữ số, chữ có dấu). Nhận dạng chữ in hoặc đánh máy trong văn bản phục vụ cho việc tự động hoá quá trình đọc tài liệu, tăng nhanh tốc độ và chất lƣợng thu nhận thông tin từ 5 Sinh viên thực hiện: Vũ Việt Hà - Lớp CT901 - Khoá 9 - Ngành Công nghệ thông tin
- Đề tài tốt nghiệp Tìm hiểu phép toán hình thái máy tính, nhận dạng chữ viết tay (với mức độ ràng buộc khác nhau về cách viết, kiểu chữ, 1.2. Các quá trình của xử lý ảnh Các quá trình của xử lý ảnh đƣợc tiến hành theo sơ đồ sau: Thu TiÒn xö Ph©n T¸ch c¸c Ph©n nhËn ¶nh lý ®o¹n ®Æc tÝnh lo¹i Hình 1: Sơ đồ quá trình xử lý ảnh Thu nhận ảnh: Đây là công đoạn đầu tiên mang tính quyết định đối với quá trình XLA. Ảnh đầu vào sẽ đƣợc thu nhận qua các thiết bị nhƣ camera, sensor, máy scanner, vv và sau đó các tín hiệu này sẽ đƣợc số hoá. Việc lựa chọn thiết bị thu nhận ảnh sẽ phụ thuộc vào đặc tính của các đối tƣợng cần xử lý. Các thông số quan trọng ở bƣớc này là độ phân giải, chất lƣợng màu, dung lƣợng bộ nhớ và tốc độ thu nhận ảnh của các thiết bị. Tiền xử lý: Ở bƣớc này, ảnh sẽ đƣợc cải thiện về độ tƣơng phản, khử nhiễu, khử bóng, khử độ lệch, v.v với mục đích làm cho chất lƣợng ảnh trở nên tốt hơn nữa, chuẩn bị cho các bƣớc xử lý phức tạp hơn về sau trong quá trình XLA. Quá trình này thƣờng đƣợc thực hiện bởi các bộ lọc. Phân đoạn ảnh: Phân đoạn ảnh là bước then chốt trong XLA. Giai đoạn này nhằm phân tích ảnh thành những thành phần có cùng tính chất nào đó dựa theo biên hay các vùng liên thông. Tiêu chuẩn để xác định các vùng liên thông có thể là cùng màu, cùng mức xám hay cùng độ nhám vv Mục đích của phân đoạn ảnh là để có một miêu tả tổng hợp về nhiều phần tử khác nhau cấu tạo nên ảnh thô. Vì lƣợng thông tin chứa trong ảnh rất lớn – trong khi trong đa số các ứng dụng chúng ta chỉ cần trích chọn một vài đặc trƣng nào đó, do vậy cần có một quá trình để giảm lƣợng 6 Sinh viên thực hiện: Vũ Việt Hà - Lớp CT901 - Khoá 9 - Ngành Công nghệ thông tin
- Đề tài tốt nghiệp Tìm hiểu phép toán hình thái thông tin khổng lồ ấy. Quá trình này bao gồm phân vùng ảnh và trích chọn đặc tính chủ yếu. Tách các đặc tính: Kết quả của bƣớc phân đoạn ảnh thƣờng đƣợc cho dƣới dạng dữ liệu điểm ảnh thô, trong đó hàm chứa biên của một vùng ảnh, hoặc tập hợp tất cả các điểm ảnh thuộc về chính vùng ảnh đó.Trong cả hai trƣờng hợp, sự chuyển đổi dữ liệu thô này thành một dạng thích hợp hơn cho việc xử lý trong máy tính là rất cần thiết. Để chuyển đổi chúng, câu hỏi đầu tiên cần phải trả lời là nên biểu diễn một vùng ảnh dưới dạng biên hay dƣới dạng một vùng hoàn chỉnh gồm tất cả những điểm ảnh thuộc về nó. Biểu diễn dạng biên cho một vùng phù hợp với những ứng dụng chỉ quan tâm chủ yếu đến các đặc trƣng hình dạng bên ngoài của đối tƣợng, ví dụ nhƣ các góc cạnh và điểm uốn trên biên chẳng hạn. Biểu diễn dạng vùng lại thích hợp cho những ứng dụng khai thác các tính chất bên trong của đối tƣợng, ví dụ nhƣ vân ảnh hoặc cấu trúc xƣơng của nó. Sự chọn lựa cách biểu diễn thích hợp cho một vùng ảnh chỉ mới là một phần trong việc chuyển đổi dữ liệu ảnh thô sang một dạng thích hợp hơn cho các xử lý về sau. Chúng ta còn phải đƣa ra một phƣơng pháp mô tả dữ liệu đã đƣợc chuyển đổi đó sao cho những tính chất cần quan tâm đến sẽ đƣợc làm nổi bật lên, thuận tiện cho việc xử lý chúng. Phân loại : Đây là bƣớc cuối cùng trong quá trình XLA. Nhận dạng ảnh (image recognition) có thể đƣợc nhìn nhận một cách đơn giản là việc gán nhãn cho các đối tƣợng trong ảnh. Ví dụ đối với nhận dạng chữ viết, các đối tƣợng trong ảnh cần nhận dạng là các mẫu chữ, ta cần tách riêng các mẫu chữ đó ra và tìm cách gán đúng các ký tự của bảng chữ cái tƣơng ứng cho các mẫu chữ thu đƣợc trong ảnh. Giải thích là công đoạn gán nghĩa cho một tập các đối tƣợng đã đƣợc nhận biết. 1.3. Khái niệm về phép toán hình thái MORPHOLOGY Hiểu một cách đầy đủ thì ” Morphology ” là hình thái và cấu trúc của đối tƣợng, hay nó diễn tả những phạm vi và các mối quan hệ giữa các phần của một đối tƣợng. Hình thái học quá quen thuộc trong các lĩnh vực ngôn ngữ học và sinh học. Trong ngôn ngữ học, hình thái học là sự nghiên cứu về cấu trúc của từ, tập hợp từ, câu và đó cũng là một lĩnh vực nghiên cứu từ nhiều năm nay. Còn trong sinh học, Hình thái học lại chú trọng tới hình dạng của một cá thể hơn, chẳng hạn có thể phân tích hình dạng của một chiếc lá để từ đó có thể nhận dạng đƣợc loại cây đó là cây gì; 7 Sinh viên thực hiện: Vũ Việt Hà - Lớp CT901 - Khoá 9 - Ngành Công nghệ thông tin
- Đề tài tốt nghiệp Tìm hiểu phép toán hình thái nghiên cứu hình dạng của một nhóm vi khuẩn, dựa trên các đặc điểm nhận dạng để phân biệt chúng thuộc nhóm vi khuẩn nào, v.v Tuỳ theo trƣờng hợp cụ thể mà có một cách phân lớp phù hợp với nó: Có thể phân lớp dựa trên những hình dạng bao quanh nhƣ (elip, tròn, ), kiểu và mức độ của những hình dạng bất quy tắc (lồi, lõm, ), những cấu trúc trong (lỗ, đƣờng thẳng, đƣờng cong, ) mà đã đƣợc tích luỹ qua nhiều năm quan sát. Tính khoa học của Hình thái học số chỉ mới thực sự phát huy khả năng của nó kể từ khi máy tính điện tử số ra đời và đã làm cho Hình thái học trở nên thông dụng, có nhiều tính năng mới. Những đối tƣợng ảnh trong Hình thái học hầu nhƣ, ta có thể coi hầu nhƣ là tập hợp của các điểm ảnh, nhóm lại theo cấu trúc 2 chiều. Những thao tác toán học cụ thể trên tập hợp điểm đó đƣợc sử dụng để làm rõ (tái hiện ) những nét đặc trƣng của những hình dạng, do vậy mà có thể tính toán đƣợc hay nhận biết đƣợc chúng một cách dễ dàng. CHƢƠNG II THAO TÁC VỚI HÌNH THÁI HỌC 2.1. Thao tác trên ảnh nhị phân Trong quá trình xử lý ảnh, một ảnh thu nhập vào máy tính phải đƣợc mã hoá. Hình ảnh khi lƣu trữ dƣới dạng tập tin phải đƣợc số hoá. Tiêu chuẩn đặt ra là ảnh phải lƣu trữ thế nào sao cho các ứng dụng khác nhau có thể thao tác trên các loại dữ liệu này. Hiện nay có trên 30 kiểu lƣu trữ ảnh khác nhau, trong đó ta thƣờng gặp các dạng ảnh sau: TIFF, GIF, BMP, PCX, JPEG, Nói chung mỗi kiểu lƣu ảnh có ƣu điểm riêng. Những thao tác hình thái nhị phân đƣợc xây dựng trên ảnh có 2 cấp xám bao gồm chỉ những điểm ảnh, ta kí hiệu đen (1) hoặc trắng (0). Trƣớc hết, để bắt đầu, ta hãy xem hình 2.1a. Tập hợp các điểm ảnh đen tạo nên đối tƣợng ảnh hình vuông và trong 2.1b, đối tƣợng ảnh cũng là hình vuông nhƣng là hình vuông lớn hơn so với 2.1a 1 điểm ảnh về mọi phía, nghĩa là thay mọi lân cận trắng của các điểm ảnh trong 2.1a thành các điểm ảnh đen. Đối tƣợng trong 2.1c cũng đƣợc thao tác tƣơng tự, tức là 2.1b đƣợc tăng thêm 1 điểm ảnh về mọi phía. Thao tác đó có thể coi nhƣ một phép 8 Sinh viên thực hiện: Vũ Việt Hà - Lớp CT901 - Khoá 9 - Ngành Công nghệ thông tin
- Đề tài tốt nghiệp Tìm hiểu phép toán hình thái dãn đơn giản, phép dãn một điểm ảnh về mọi phía. Việc dãn đó có thể đƣợc thực hiện cho đến khi toàn bộ ảnh đƣợc thay bằng các điểm ảnh đen. Tuy nhiên trong thực tế, đối tƣợng ảnh đƣợc xem nhƣ là một tập hợp toán học của các điểm ảnh đen, mỗi điểm ảnh đen đƣợc coi nhƣ là một điểm trong không gian hai chiều và nó đƣợc xác định bởi số hàng và số cột. Do vậy, đối tƣợng ảnh trong 2.1a có thể đƣợc viết lại là { (3, 3) (3, 4) (4, 3) (4, 4) }, với điểm ảnh phía trên bên trái là (0, 0). Tuy nhiên, việc viết nhƣ vậy sẽ rất dài dòng và bất tiện nên ta gọi đơn giản đối tƣợng ảnh là A, và các phần tử trong đó là các điểm ảnh. Hình 2.1: Hiệu quả của 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 (so với ảnh ban đầu ). 2.1.1. Phép dãn nhị phân(Dilation) Bây giờ ta sẽ chỉ ra một số thao tác tập hợp đơn giản nhằm mục đích định nghĩa phép dãn nhị phân qua chúng.Phép dịch A bởi điểm x(hàng, cột), đƣợc định nghĩa là một tập (A)x = {c | c = a + x, a A} Chẳng hạn 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: Â = {c | c = - a, a A } 9 Sinh viên thực hiện: Vũ Việt Hà - Lớp CT901 - Khoá 9 - Ngành Công nghệ thông tin
- Đề tài tốt nghiệp Tìm hiểu phép toán hình thái đó 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ì: Ac = {c | c A} 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)} 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 / và B. Kí hiệu: A B = {c | (c A) (c B)} Hiệu của hai tập hợp A và B là tập: A - B = { c | (c A) (c B)} nó là tập các các phần tử thuộc A nhƣng không thuộc B hay A- B = A Bc Bây giờ ta có thể định nghĩa phép dãn (delation) qua lý thuyết tập hợp nhƣ sau: Phép dãn tập A bởi tập B, đó là tập : A B = {c | c =a + b, a A, b B} (1) Dễ thấy trong toán học, đây là phép tổng trực tiếp A và B. A là đối tƣợng ảnh đƣợc thao tác và B đƣợc gọi là phần tử cấu trúc (viết tắt là cấu trúc ). Để hiểu kĩ hơn về điều này, ta hãy coi A là đối tƣợng 2.1a và B = {(0, 0) (0, 1)} Những phần tử trong tập C = A B đƣợc tính dựa trên phƣơng trình (1), có thể viết lại nhƣ sau: A B = (A + {(0, 0)}) (A + {(0, 1)}) Cụ thể: A B C (3, 3) + (0, 0) = (3, 3) (3, 4) + (0, 0) = (3, 4) (4, 3) + (0, 0) = (4, 3) (4, 4) + (0, 0) = (4, 4) (3, 3) + (0, 1) = (3, 4) (3, 4) + (0, 1) = (3, 5) 10 Sinh viên thực hiện: Vũ Việt Hà - Lớp CT901 - Khoá 9 - Ngành Công nghệ thông tin
- Đề tài tốt nghiệp Tìm hiểu phép toán hình thái (4, 3) + (0, 1) = (4, 4) (4, 4) + (0, 1) = (4, 5) Trong đó, 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. Hình 2.2: Dãn A bởi B. (a) Tập A ban đầu (b) Tập A cộng phân tử (0,0) (c) Tập A 45cộng phân tử (0,1) (d)hợp của (b) và (c) (kết quả phép dãn) Nhìn hình 2.2 trên, ta nhận thấy rằng trong các ảnh có hình 1 dấu thập ( ). Những phần tử đƣợc đánh dấu ( ) hoặc đen, hoặc trắng đƣợc coi nhƣ gốc (Ogirin ) của mỗi ảnh. 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, tất nhiên, ảnh sẽ dãn đều. Trong thí dụ trên do gốc của cấu trúc B ở bên trái nên ta thấy ảnh đƣợc dãn về bên phải. Nếu nhƣ gốc chứa một điểm ảnh trắng, khi đó ta 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, ta thƣờng sử dụng cấu trúc có dạng ma trận 3 3 với gốc ở chính giữa. Ta hãy xét thêm một ví dụ nữa, ví dụ này sẽ cho ta thấy sự dãn về hai phía nếu nhƣ ta 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 ta nói rằng gốc không đƣợc bao gồm trong cấu trúc. 11 Sinh viên thực hiện: Vũ Việt Hà - Lớp CT901 - Khoá 9 - Ngành Công nghệ thông tin
- Đề tài tốt nghiệp Tìm hiểu phép toán hình thái Nhìn vào hình 2.3 dƣới đây, ta có: A1 = {(1, 1)(1, 2)(2, 2)(2, 3)(3, 2)(3, 3)(4, 4)} và phần tử cấu trúc B1 = {(0, -1)(0, 1)} Dịch A1 bởi (0, -1) cho ta: (A1)(0, -1) = {(1, 0)(1, 1)(2, 1)(2, 2)(3, 1)(3, 2)(4, 3)} Dịch A1 bởi (0, 1): (A1)( 0, 1) = {(1, 2)(1, 3)(2, 3)(2, 4)(3, 3)(3, 4)(4, 5)} 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ó Hình 2.3: Dãn mất điểm ảnh .(a) ảnh A1 (b) phần tử cấu trúcB1 (c) A1 đƣợc dãn bởi B1 Mặt trong ảnh kết quả, chẳng hạn (4, 4). Đó chính là do gốc của phần tử cấu trúc không phải là một phần tử đối tƣợng (bởi ta coi phần tử đối tƣợng là điểm ảnh đen mà ở đây gốc lại là một điểm trắng ). Tổng quát hơn, ta có thể coi phép dãn (dilation ) là hợp của tất cả các phép dịch bởi các phần tử của cấu trúc, kí hiệu: A B ( A)b b B Tuy nhiên với vai trò bình đẳng của A và B, ta coi A là cấu trúc và B là ảnh thì khi đó: A B (B)a a A 12 Sinh viên thực hiện: Vũ Việt Hà - Lớp CT901 - Khoá 9 - Ngành Công nghệ thông tin
- Đề tài tốt nghiệp Tìm hiểu phép toán hình thái Từ những điều trên, giúp ta tiếp cận đến một thao tác dãn ảnh có thể đƣợc “ máy tính hóa”. Ta hãy coi những phần tử cấu trúc nhƣ là một mẫu và dịch nó trên ảnh. Khi mà gốc của phần tử cấu trúc, hay mẫu, khớp với một điểm ảnh đen trên ảnh thì tất cả các điểm ảnh tƣơng ứng với các điểm đen trên cấu trúc sẽ đƣợc đánh dấu và thay thế sau. Sau khi toàn bộ ảnh đã đƣợc quét qua bởi mẫu, thao tác dãn ảnh coi nhƣ hoàn chỉnh. Thông thƣờng. máy tính sẽ làm nhƣ sau: mỗi lần gốc cấu trúc trùng điểm đen trên ảnh thì nó sẽ chép các phần tử đ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. 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 2.1.2. Phép co nhị phân (Erosion) Nếu nhƣ phép dãn có thể nói 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(ở đây ta vẫn quan niệm rằng đối tƣợng ảnh là những điểm ảnh đen ). Trong trƣờng hợp đơn giản nhất, một phép co nhị phân sẽ tách lớp điểm ảnh bao quanh đối tƣợng ảnh, chẳng hạn 2.1b là kết quả của phép co đƣợc áp dụng đối với 2.1c. Dễ hiểu hơn, ta 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, ta 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 3 3 của các điểm ảnh đen, đã đƣợc nói đến trong phép dãn nhị phân trƣớc đây. 13 Sinh viên thực hiện: Vũ Việt Hà - Lớp CT901 - Khoá 9 - Ngành Công nghệ thông tin
- Đề tài tốt nghiệp Tìm hiểu phép toán hình thái Nhìn chung, phép co một ảnh A bởi cấu trúc B có thể đƣợc định nghĩa nhƣ là tập: A B = {c |(B)c A} Nói cách khác, đó 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 đó sẽ 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 ). Đầu tiên, ta hãy 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)} nhƣ trong hình 2.2. Không cần thiết phải quan tâm đến toạ độ các điểm đen của A, mà chỉ cần quan tâm đến những toạ độ của các điểm đen của A mà khi ta 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 ta quan tâm tới bốn toạ độ 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)} 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 toạ độ của chúng sao cho vẫn thuộc A sẽ xuất hiện trong phép co A bởi B. Điều này sẽ đƣợc minh hoạ rõ ràng qua 2.5. Nếu nhƣ trong cấu trúc B không chứa gốc, ta gọi là 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 ta di mẫu trên đối tƣợng ảnh A.Lúc này, kết quả nhƣ sau: B(3, 2) = {(3, 3) } B(4, 2) = {(4, 3) } B(3, 3) = {(3, 4) } B(4, 3) = {(4, 4) } 14 Sinh viên thực hiện: Vũ Việt Hà - Lớp CT901 - Khoá 9 - Ngành Công nghệ thông tin
- Đề tài tốt nghiệp Tìm hiểu phép toán hình thái Điều này có nghĩa kết quả của phép co là {(3, 2) (4, 2) (3, 3) (4, 3)}, thế nhƣng lại không phải là một tập con của A, mà lí do gây ra điều đó chính là gốc không đƣợc chứa trong mẫu B2. 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 anh 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 Ta nhận thấy một điều quan trọng là: 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. Nhƣng nhìn chung thì điều đó là không đúng, ta sẽ quan sát chúng một cách cụ thể hơn ở sau. Tuy nhiên, giữa phép co và phép dãn có mối quan hệ qua biểu thức sau đây: (B A)c = Bc  (2) (chú ý:  = {c|c=-a, a A}) Tức là phần bù của phép co ảnh A bởi B đƣợc coi nhƣ phép dãn phần bù của A bởi tập đối của B. Nếu nhƣ cấu trúc B là đối xứng (ở đây ta quan niệm đối xứng theo toạ độ) thì tập đối của B không thay đổi, nghĩa là  = A Khi đó: (B A)c = Bc A (3) 15 Sinh viên thực hiện: Vũ Việt Hà - Lớp CT901 - Khoá 9 - Ngành Công nghệ thông tin
- Đề tài tốt nghiệp Tìm hiểu phép toán hình thái 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 (ta 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 ). Ta sẽ chứng minh biểu thức (3) Theo định nghĩa của phép co ở trên, ta có: B A = {z |(A)z B} Khi đó c c (B A) = {z |(A)z B} c c Xét vế trái = (B A) = {z |(A)z B} c = {z |(A)z B } c c = {z |(A)z B = } c = {z |(A)z B } Mặt khác (A)z = {c|c = a + z, a A}, do đó: c c (B A) = {z | (a + z) B , b B} c = {z | a + z = b, b B , a A} c = {z |z = b - a, b B , a A} c c = B Â = {z |(A)z B} Đó là điều cần chứng minh . 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 đề đó có thể hiểu là phần tử cấu trúc có thể “tạm bỏ qua”. Tức là khi ta 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à ở chỗ: Ta 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. 16 Sinh viên thực hiện: Vũ Việt Hà - Lớp CT901 - Khoá 9 - Ngành Công nghệ thông tin
- Đề tài tốt nghiệp Tìm hiểu phép toán hình thái Hình vẽ 2.6 dƣới đây sẽ minh hoạ 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. Các phép toán đóng mở ảnh (closing and opening) 2.1.3.1. Phép mở Nếu nhƣ ta á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à Dilation(dãn) và E là Erosion(co). 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, làm cho ảnh dƣờng nhƣ bớt “gai”.Hiệu quả này dễ quan sát nhất khi sử dụng cấu trúc đơn giản. 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. Hình 2.7 cũng minh hoạ một đối tƣợng khác, hoàn toàn 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 17 Sinh viên thực hiện: Vũ Việt Hà - Lớp CT901 - Khoá 9 - Ngành Công nghệ thông tin
- Đề tài tốt nghiệp Tìm hiểu phép toán hình thái các điểm biên và loại nhiễu. Việc xử lý này dƣờng nhƣ 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ụ mà ta đã xét 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ự. Lại quay về ảnh 2.7 và ta thử xem cái gì đã đƣợc 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 cái mà ta 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.3.2. Phép đóng 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 đó. Hình 2.8a trình bày trình bày một thao tác đóng ảnh áp dụng cho hình 2.7d, mà bạn nhớ rằng đó là kết quả của việc xóa 18 Sinh viên thực hiện: Vũ Việt Hà - Lớp CT901 - Khoá 9 - Ngành Công nghệ thông tin
- Đề tài tốt nghiệp Tìm hiểu phép toán hình thái nhiễu. Phép đóng ảnh quả là 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 trƣớc đây chƣa thành công. Hình2.8b và 2.8c 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 2.8b 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 Hình thái học (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.Thỉnh thoảng, 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 xử 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.8d sử dụng cấu trúc đơn giản 19 Sinh viên thực hiện:b. VẢnhũ Vi củaệt H àmột - Lớpbảng CT mạch901 đƣợc- Khoá phân 9 -ngƣỡng Ngành vàCông có nghệcác vết thông đứt tin c. Ảnh tƣơng tự sau khi đóng nhƣng những nét đứt đã đƣợc nối liền.
- Đề tài tốt nghiệp Tìm hiểu phép toán hình thái 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 ảnh 2.9a đã đƣợ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 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.9a. 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 (2.9b), 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âú 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 110 phép co hoặc 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 220 lần quét qua ảnh. 20 Sinh viên thực hiện: Vũ Việt Hà - Lớp CT901 - Khoá 9 - Ngành Công nghệ thông tin
- Đề tài tốt nghiệp Tìm hiểu phép toán hình thái 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ế. Kết quả có sự xuất hiện của bản đồ chu tuyến; ở trong bản đồ đó, những chu tuyến đại diện cho khoảng cách xét từ viền vào.Ví dụ, đối tƣợng đƣợc trình bày trong 2.10a có bản đồ khoảng cách đƣợc trình bày trong 2.10b. 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.10c trình bày những điểm nút có liên quan đến đối tƣợng hình 2.10a. 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. 21 Sinh viên thực hiện: Vũ Việt Hà - Lớp CT901 - Khoá 9 - Ngành Công nghệ thông tin
- Đề tài tốt nghiệp Tìm hiểu phép toán hình thái Hình 2.10: Phép co sử dụng một bản đồ khoảng cách a. Giọt nƣớc b. Bản đồ khoảng cách của ảnh giọt nƣớc c. Những điểm nút trong ảnh này hiện lên nhƣ một chu trình. Để mã hoá tất cả các phép mở của đối tƣợng, đặt một đĩa số sao cho tâm chính là mỗi điểm nút. Khi đó những giá trị của điểm ảnh trong đĩa sẽ mang giá trị của nút. Nếu một điểm ảnh đã đƣợc hút, khi đó nó sẽ nhận giá trị lớn hơn giá trị hiện tại của nó hoặc một điểm ảnh mới đƣợc vẽ. Đối tƣợng kết quả có đƣờng biên tƣơng tự nhƣ ảnh nhị phân gốc, do vậy mà ảnh đối tƣợng có thể đƣợc tái tạo chỉ từ những điểm nút. Thêm vào đó, những mức xám của ảnh đƣợc mở tổng thể này đại diện một cách mã hoá tất cả các phép mở có thể. Nhƣ một ví dụ, hãy xét đối tƣợng đƣợc định dạng hình đĩa trong hình 2.11a và bản đồ khoảng cách tƣơng ứng trong 2.11b. Có 9 điểm nút: 4 điểm có giá trị 3 và còn lại là giá trị 5. Phân ngƣỡng ảnh đƣợc mã hoá mang lại một phép mở có độ sâu tƣơng tự ngƣỡng. Tất cả các phép đóng có thể đƣợc mã hoá song song với các phép mở nếu bản đồ khoảng cách đƣợc thay đổi gồm khoảng cách của những điểm ảnh nền từ một đối tƣợng. Những phép đóng thành những giá trị nhỏ hơn giá trị trung tâm tuỳ ý và những phép mở đƣợc mã hoá thành những giá trị lớn hơn giá trị trung tâm này 22 Sinh viên thực hiện: Vũ Việt Hà - Lớp CT901 - Khoá 9 - Ngành Công nghệ thông tin
- Đề tài tốt nghiệp Tìm hiểu phép toán hình thái Hình 2.11: Phép mở tổng thể của đối tƣợng dạng đĩa a. Bản đồ khoảng cách của đối tƣợng gốc b. Những điểm nút đƣợc nhận dạng c. Những vùng đƣợc phát triển từ những điểm ảnh giá trị 3 d. Những vùng đƣợc phát triển từ những điểm ảnh giá trị 5 e. ảnh đƣợc mở tổng thể f. ảnh đƣợc tạo ra từ (e). 2.1.4. Kĩ thuật „ Đánh trúng và Đánh trượt „ “Đánh trúng và đánh trƣợt" là một phép toán Hình thái học đƣợc thiết kế để định vị những hình dạng đơn giản bên trong một ảnh. Nó dựa trên phép co, thật bình thƣờng đó là phép co A bởi cấu trúc S bao gồm chỉ những điểm ảnh (đúng hơn là những vị trí ) mà theo nó, S đƣợc chứa trọn bên trong A (theo nhƣ trƣớc đây ) cho đến chỉ cần thoả mãn tập hợp điểm ảnh trong một vùng nhỏ của A.Tuy nhiên vậy thì nó cũng bao gồm cả những vùng mà ở vùng đó, những điểm ảnh nền lại không phù hợp với những điểm ảnh nền của cấu trúc S và những vị trí đó sẽ không đƣợc nghĩ là phù hợp theo nghĩa thông thƣờng. Cái mà chúng ta cần quan tâm đó chính là một thao tác mà phù hợp với cả hai: Những điểm ảnh nền và những điểm ảnh đối tƣợng (ta coi ảnh gồm đối tƣợng và nền ) của cấu trúc S trong A. Nếu những điểm ảnh đối tƣợng trong S phù hợp với những điểm ảnh đối tƣợng trong A đƣợc gọi là “đánh 23 Sinh viên thực hiện: Vũ Việt Hà - Lớp CT901 - Khoá 9 - Ngành Công nghệ thông tin
- Đề tài tốt nghiệp Tìm hiểu phép toán hình thái trúng “ và đƣợc hoàn chỉnh bởi một phép co đơn giản A . Những điểm ảnh nền trong A đƣợc coi là những điểm ảnh đối tƣợng trong Ac và trong khi chúng ta có thể sử dụng Sc nhƣ nền của S. Coi T nhƣ là một cấu trúc mới, A “đánh trúng " nền gọi là “đánh trƣợt " và đƣợc coi nhƣ phép Ac T. Chúng ta muốn những vị trí mà cả “đánh trúng và đánh trƣợt ", đó là những điểm ảnh thoả mãn: A (S, T) = (A S ) (Ac T) (4) Coi nhƣ một ví dụ, ta hãy sử dụng sự đổi dạng để tách ra những góc phía trên bên phải. Hình 2.12a trình bày một đối tƣợng ảnh giống 2 hình vuông đè lên nhau góc phần tƣ. Hình 2.12: Minh hoạ thao tác đánh trúng và trƣợt a. ảnh đƣợc kiểm tra b. Cấu trúc cận cảnh dành cho việc xác định vị trí góc trên bên phải c. Co (a) bằng (b) d. Phần bù của (a) Cấu trúc nền bao gồm 3 điểm ảnh phía góc trên bên phải của góc. e. f. Phép co (d) bởi (e) g. Giao của (c) và (f)- Kết quả trình bày vị trí của điểm ảnh ở những góc trên bên phải. Cũng phải chú ý rằng cấu trúc dành cho ảnh nền 2.12d lại không phải là phần bù của cấu trúc dành cho ảnh gốc 2.12a.Thực vậy, nếu nó là phần bù thì kết quả sẽ là một ảnh rỗng. Nhân tiện cũng phải nói rằng những điểm ảnh phía trên bên phải trong 2.12f là trắng bởi vì chúng phù hợp với những vị trí mà ở đó cấu trúc 2.12e có những 24 Sinh viên thực hiện: Vũ Việt Hà - Lớp CT901 - Khoá 9 - Ngành Công nghệ thông tin
- Đề tài tốt nghiệp Tìm hiểu phép toán hình thái điểm ảnh đen đƣợc đặt bên ngoài của những viền trong ảnh. Phép toán phần bù tạo ra một ảnh cỡ tƣơng tự nhƣ ảnh đƣợc lấy phần bù dù rằng khi sử dụng trong tập hợp, điều này không đúng. Điều này có thể đƣợc tránh bằng việc sao chép ảnh vào thành một ảnh lớn hơn trƣớc khi lấy phần bù của ảnh đó. 2.1.5. Kĩ thuật đếm vùng Đƣợc coi nhƣ một ví dụ cuối cùng trong Đồ án về cách sử dụng những toán tử hình thái trong ảnh nhị phân. Có thể sử dụng những toán tử hình thái dùng để đếm số vùng trong một ảnh. Phƣơng pháp này đầu tiên đƣợc đƣa ra bởi Levialdi và sử dụng tới 6 phần tử cấu trúc: 4 phần tử đầu đƣợc dùng để co ảnh và đƣợc lựa chọn một cách cẩn thận sao cho không làm thay đổi sự nối kết giữa những vùng đƣợc co. Hai phần tử cấu trúc cuối đƣợc dùng để đếm những điểm ảnh điểm ảnh “1" bị cô lập. Số vùng ban đầu là số điểm ảnh bị cô lập trong ảnh vào A và ảnh của lần lặp thứ 0 là A, hay kí hiệu: Ao =A (10) Anh của các lần lặp tiếp theo là hợp của bốn phép co với bốn phần tử cấu trúc ban đầu với ảnh của lần lặp hiện tại, tức là: An+1 = (An L1 ) (An L2 ) (An L3 ) (An L4 ) (7) trong đó L1, L2, L3, L4 là bốn cấu trúc ban đầu (xem hình vẽ 2.14) Hình 2.14: Đếm vùng a.b.c.d. Các cấu trúc e. Ví dụ của ảnh có 8 vùng. Thuật toán làm việc đúng. Số vùng trong lần lặp i chính là số điểm ảnh bị cô lập trong ảnh lặp thứ i và phép lặp này sẽ dùng khi An trở thành rỗng (tức là tất cả các ảnh đều mang giá trị 0). Toàn bộ tổng số vùng là tổng của tất cả các giá trị của số vùng trong các lần lặp. 25 Sinh viên thực hiện: Vũ Việt Hà - Lớp CT901 - Khoá 9 - Ngành Công nghệ thông tin
- Đề tài tốt nghiệp Tìm hiểu phép toán hình thái 2.2. Thao tác trên ảnh xám 2.2.1. Phép co và phép dãn Sử dụng đa mức xám đem lại một sự phiền hà lớn trong cả lí thuyết và thực nghiệm. Cũng đã có vài câu hỏi đƣợc đặt ra, giả sử nhƣ trong ảnh xám thì phép dãn trong ảnh xám để làm gì và cách sử dụng nhƣ thế nào ? (8) Trong đó, S là cấu trúc đơn giản và A là ảnh xám đƣợc dãn. Đây là một định nghĩa của phép dãn ảnh xám và nó có thể đƣợc tính toán theo các bƣớc sau: i. Vị trí gốc của phần tử cấu trúc đặt trên điểm ảnh đầu tiên của ảnh đƣợc dãn ta gọi vị trí đó là m ii. Tính tổng của mỗi cặp điểm tƣơng ứng của phần tử cấu trúc và ảnh iii. Tìm giá trị lớn nhất của tất cả những giá trị tổng ở trên và đặt giá trị lớn nhất vào vị trí m cuả ảnh kết quả. iv. Lặp lại quá trình từ i tới iii cho các điểm còn lại của ảnh Những giá trị của những điểm ảnh trong phần tử cấu trúc là những giá trị xám có thể và có thể mang giá trị âm. Nhƣng những điểm ảnh đƣợc định giá trị âm không thể đƣợc hiển thị và có hai cách để giải quyết vấn đề này: Ta có thể đặt các gía trị âm bằng 0 hoặc tìm giá trị nhỏ nhất trong ảnh kết quả và đặt nó là 0, các giá trị còn lại sẽ đƣợc cộng thêm một lƣợng tƣơng ứng, sao cho các giá trị ảnh chênh nhau một lƣợng không đổi. Tƣơng tự ta sẽ đƣa ra một định nghĩa cho phép co đối với ảnh xám nhƣ sau: (A S)[i, j] = MIN{ A[i-r, j-c] - S[r, c]; [i-r, j-c] A, [r, c] S } (9) Cũng giống nhƣ phép dãn xám, phép co thực hiện tính toán theo 4 bƣớc: i. Vị trí gốc của phần tử cấu trúc đặt trên điểm ảnh đầu tiên của ảnh đƣợc co ta gọi vị trí đó là m ii. Tính hiệu của mỗi cặp điểm tƣơng ứng của phần tử cấu trúc và ảnh iii. Tìm giá trị nhỏ nhất của tất cả những giá trị hiệu ở trên và đặt giá trị nhỏ nhất vào vị trí m cuả ảnh kết quả. iv. Lặp lại quá trình từ i tới iii cho các điểm còn lại của ảnh. 26 Sinh viên thực hiện: Vũ Việt Hà - Lớp CT901 - Khoá 9 - Ngành Công nghệ thông tin
- Đề tài tốt nghiệp Tìm hiểu phép toán hình thái 2.2.2. Các phép toán đóng, mở Phép đóng và mở một ảnh xám đƣợc thực hiện theo cách tƣơng tự trƣớc đây, ngoại trừ rằng phép co và dãn ảnh xám đƣợc sử dụng; đó là, một phép mở là một phép co theo sau bằng một phép dãn sử dụng cùng cấu trúc và phép đóng thì theo thứ tự ngƣợc lại, dãn trƣớc rồi co sau. Tuy nhiên, sử dụng một mẫu hình học để miêu tả nó sẽ dễ dàng quan sát hơn. Coi một ảnh xám nhƣ một bề mặt ba chiều, trong đó trục ngang x(dòng) và trục dọc y(cột) vẫn giữ nguyên nhƣ trƣớc, còn trục cao z đặc trƣng cho giá trị mức xám. Phần tử cấu trúc cũng sẽ là một ảnh xám. Ta hãy xét thử một ảnh xám cấu trúc dạng hình cầu: 00000000000 00111311100 01122322110 01233433210 01235553210 02345654320 01235553210 01233433210 01122322110 00111211100 0000000000 Lẽ dĩ nhiên, đây mới chỉ là gần giống hình cầu chứ chƣa phải là hình cầu thực sự do lỗi cắt và lấy mẫu. Tuy nhiên, ta có thể tƣởng tƣợng rằng: phần tử cấu trúc nhƣ một hình cầu, ảnh xám của ta nhƣ một bề mặt ba chiều (mặt cong ), độ lồi lõm của mặt cong đó tƣợng trƣng cho giá trị mức xám (trục cao Z), và khi đó phép đóng phép mở có thể hiểu nhƣ sau Ta lăn cầu ở phía dƣới của bề mặt cong đó, những điểm nào của bề mặt cong đó tiếp xúc với hình cầu thì ta chấp nhận (đó chính là giá trị xám đƣợc giữ lại ) và khi đó ta gọi là phép mở. Tƣơng tự đối với phép đóng, nhƣng thay vì lăn cầu ở phía dƣới, ta lăn cầu ở phía trên của bề mặt cong và cũng lấy những điểm tiếp xúc cầu. Cụ thể hơn, ta hãy xem hình 2.15. ở hình 2.15 chỉ ra quá trình xử lý này trong hai chiều, hình cầu đƣợc thay bằng hình tròn. Trong trƣờng hợp này phép mở có thể đƣợc coi nhƣ một quá trình làm trơn giảm mức xám trung bình của các điểm ảnh, trái lại phép đóng xuất hiện làm tăng mức xám trung bình của các điểm ảnh. 27 Sinh viên thực hiện: Vũ Việt Hà - Lớp CT901 - Khoá 9 - Ngành Công nghệ thông tin
- Đề tài tốt nghiệp Tìm hiểu phép toán hình thái Hình 2.15: Phép dãn đa cấp xám a. ảnh 2 mức của một đƣờng thẳng b. Phép dãn nhị phân từ (a) bởi cấu trúc đơn giản c. Một ảnh đa cấp xám; nền có mức xám 0 nhƣng đƣờng thẳng có mức xám 20 d. Sau khi thực hiện phép dãn với đƣờng thẳng. Một ứng dụng thú vị của phép mở và phép đóng đó là ứng dụng trong việc kiểm tra chính xác đối tƣợng bằng mắt. Chẳng hạn, khi một đối tƣợng đƣợc cắt hay đánh bóng, khi đó có những vết xƣớc còn lại trong kim loại và những vết xƣớc đó có thể đƣợc nhận dạng một cách dễ dàng hơn nếu ta dùng ánh sáng chiếu vào bề mặt kim loại và nhờ sự phản xạ trên bề mặt để đánh giá. 2.2.3. Làm trơn Thao tác làm trơn trên ảnh xám có thể đƣợc coi nhƣ là một phép mở mà tiếp theo sau đó là một phép đóng ảnh. Hiệu quả của thao tác này là nó sẽ xoá đi những điểm quá sáng hoặc quá tối trên ảnh gốc. Do vậy, có những điểm ảnh thực sự là nhiễu sẽ đƣợc xử lý, nhƣng cũng không tránh khỏi những giá trị ảnh thực sự cũng bị ảnh hƣởng và nhìn chung, giá phải trả cho việc giảm nhiễu là ảnh bị mờ đi so với ban đầu. Hình 2.16 a miêu tả ảnh của một chiếc bảo vệ đĩa mà đã đƣợc liệt vào dạng nhiễu Gauss(theo phân loại thông thƣờng ) với độ lệch chuẩn 30. Hình 2.16c trình bày kết quả của phép làm nhiễu hình thái đƣợc áp dụng cho ảnh này; ta thấy có khi ảnh đƣợc làm trơn ở 2.16 c lại không rõ bằng ảnh ban đầu 2.16 a. Tuy nhiên, so hai ảnh 2.16b 28 Sinh viên thực hiện: Vũ Việt Hà - Lớp CT901 - Khoá 9 - Ngành Công nghệ thông tin
- Đề tài tốt nghiệp Tìm hiểu phép toán hình thái và 2.16d ta thấy sự khác biệt giữa chúng là: Ảnh lúc đầu đƣợc phân ngƣỡng, sau đó ta mới làm trơn thì kết quả thật là tuyệt vời, ảnh thu đƣợc 2.16d đã hết nhiễu. Điều đó cho ta thấy rằng, việc phân ngƣỡng quả là phân ngƣỡng quả là có tác dụng tốt đối với phép làm trơn. Phần tử cấu trúc đƣợc sử dụng ở đây chỉ là đơn giản, nhƣng việc lựa chọn phần tử cấu trúc nào còn phải tuỳ thuộc vào kiểu nhiễu nào để mà sử dụng cho thích hợp. Hình 2.16 Làm trơn đa cấp xám a. ảnh miếng bảo vệ đĩa có kèm theo nhiễu Gauss có độ lệch chuẩn 30 b. Sau khi phân ngƣỡng từ (a), ảnh nhƣ đƣợc rắc thêm “muối và hạt tiêu” c. ảnh (a) sau khi đƣợc làm trơn d. ảnh đƣợc làm trơn và sau khi phân ngƣỡng, nó đã hết nhiễu. 2.2.4. Gradient Nhƣ trƣớc đây, phƣơng pháp để dò biên của một đối tƣợng ảnh hai mức xám đã đƣợc thảo luận. Ý tƣởng chính là co một ảnh sử dụng phần tử cấu trúc đơn giản và ảnh co sau đó có thể bị trừ bởi ảnh gốc, để lại chỉ những điểm ảnh đã đƣợc co. Điều này cũng có thể thực hiện với ảnh đa cấp. Bởi vì sự tƣơng phản trong ảnh đa cấp xám không tốt bằng trong ảnh nhị phân, do vậy mà hiệu quả của việc dò biên không tốt bằng. Tuy nhiên, ta có thể cải thiện tình trạng này bằng cách áp dụng công thức sau: G = (A S) - (A S) (10) Trong đó S là phần tử cấu trúc. Thay vì lấy ảnh ban đầu trừ ảnh co, ở đây ta lấy ảnh dãn trừ đi ảnh đƣợc co. Điều này sẽ làm tăng sự tƣơng phản và bề rộng của những cạnh đƣợc trích chọn. Phƣơng trình (10) là định nghĩa của gradient hình thái. 29 Sinh viên thực hiện: Vũ Việt Hà - Lớp CT901 - Khoá 9 - Ngành Công nghệ thông tin
- Đề tài tốt nghiệp Tìm hiểu phép toán hình thái Hai thuật toán: dò biên (dựa phƣơng trình 5) và gradient hình thái (dựa phƣơng trình 10) trong hình 2.17 đƣợc áp dụng cho ảnh của miếng bảo vệ đĩa, ở đây cũng coi phần tử cấu trúc là đơn giản. Hình 2.17: Đƣờng dốc hình thái a. ảnh bảo vệ đĩa b. Các cạnh đƣợc làm rõ bằng phƣơng pháp trích biên sau đó đƣợc phân ngƣỡng (đề cập trƣớc đây) c. Đƣờng dốc hình thái d. ảnh (c) sau khi phân ngƣỡng. 2.2.5. Phân vùng theo cấu trúc Phép đóng xoá đi những chi tiết tối và phép mở sẽ xoá đi những vùng tối trong ảnh. Điều này dẫn ta đến một ứng dụng dành cho cấu trúc và việc nhận dạng những vùng trong ảnh dựa trên chính cấu trúc của vùng đó. Nếu ta có một cấu trúc gồm những vệt nhỏ xen lẫn cấu trúc gồm những vệt lớn, thì phép đóng với kích cỡ của những vệt nhỏ sẽ có tác dụng xoá chúng, thế nhƣng sẽ để lại những vệt trên cấu trúc lớn. Khi đó ta thực hiện phép mở với kích cỡ của những khoảng trống giữa những vệt lớn giữa những vệt lớn trong cấu trúc lớn sẽ nối chúng lại thành một vùng đen lớn. Khi đó đƣờng viền hai vùng sẽ đƣợc nhận dạng một cách dễ dàng hơn. 30 Sinh viên thực hiện: Vũ Việt Hà - Lớp CT901 - Khoá 9 - Ngành Công nghệ thông tin
- Đề tài tốt nghiệp Tìm hiểu phép toán hình thái Ví dụ minh hoạ đƣợc nhắc tới trong vùng 2.18. Ảnh ban đầu có hai khu vực đƣợc điền với những cấu trúc khác nhau.Cấu trúc bao gồm những vệt đen lớn ta gọi là cấu trúc lớn, và cấu trúc bao gồm những vệt đen nhỏ ta gọi là cấu trúc nhỏ. Phép đóng đầu tiên sẽ xoá đi vùng chứa cấu trúc nhỏ và nó tạo ra một vùng đen đặc, nơi mà chứa cấu trúc lớn trƣớc đây. Khi đó thủ tục trích biên hình thái đƣợc áp dụng và nó tạo ra cho ta một đƣờng biên liền nét giữa hai vùng cấu trúc. Ta sẽ thấy xuất hiện những vệt nhoè nằm rải trên đƣờng liền nét, đó chính là những điểm đen trong cấu trúc lớn bị cắt. Hình 2.18: Phân đoạn cấu trúc (a) ảnh đƣợc phân đoạn Sau khi đóng bằng cỡ của những vết trong cấu trúc nhỏ (b)Sau khi đóng bằng kích cỡ của khoảng cách giữa các vệt của cấu trúc lớn (c) (d)Viền của (c) (e)Viền trong ảnh gốc (a). 2.2.6. Phân loại cỡ đối tượng. Sử dụng Hình thái học cho việc phân vùng bằng cấu trúc đƣa ta tới một ứng dụng khác của phép toán hình thái - đó là sự phân lớp đối tƣợng dựa trên kích cỡ hoặc hình dạng của chúng. Khi nào mà việc sử dụng hình dáng cho phép toán hình thái đòi hỏi phải thử nghiệm ít mẫu cấu trúc (phần tử cấu trúc ) thì việc phân cỡ của chúng vẫn còn đƣợc quan tâm. Một tập hợp các đối tƣợng khác nhau đƣợc phân lớp một cách có quy tắc dựa theo kích cỡ của chúng, từ rất nhỏ nhƣ các vi sinh vật đến các vật lớn hơn nhƣ quả trứng, quả táo và ngƣời ta cũng có thể tạo ra một chƣơng trình cho việc phân loại trứng bằng bằng Hình thái học đa cấp xám. Tuy nhiên do trứng gà còn 31 Sinh viên thực hiện: Vũ Việt Hà - Lớp CT901 - Khoá 9 - Ngành Công nghệ thông tin
- Đề tài tốt nghiệp Tìm hiểu phép toán hình thái có một cách phân loại tốt hơn đó là phân loại theo trọng lƣợng, nên ta hãy bỏ qua chúng và xét một trƣờng hợp gần gũi với ta hơn, đó là tiền. Thật là ngẫu nhiên, mà những đồng xu thƣờng có giá trị lớn hơn những đồng xu bé. Chẳng hạn một đồng hào thì nhỏ hơn đồng đôla xu. Hình 2.19 a miêu tả một ảnh của một tập hợp những đồng xu trên một nền tối. Nó đƣợc trộn lẫn giữa xu Canada và Mĩ. Sử dụng phép mở đa cấp xám sẽ làm mức xám của một đối tƣợng và ảnh đƣợc mở một cách từ từ cùng vơí việc tăng dần bán kính của cấu trúc tròn (đã từng nói trƣớc đây).Tại một vài điểm, khi bán kính của phần tử cấu trúc lớn hơn bán kính của đồng xu thì đồng xu khi đó sẽ đƣợc xoá khoỉ ảnh, ở đây ta sử dụng bán kính trong phạm vi 5 - 14; phép mở bằng một cấu trúc tròn với bán kính 14 sẽ xoá đi hết những đồng xu, để lại một ảnh tối và trống. Sự thay đổi đầu tiên xuất hiện đó là khi sử dụng bán kính 6, 5 (đƣờng kính 13), khi đó những đồng hào bị nhỏ dần cho đến khi phép phân ngƣỡng đủ xoá chúng đi. Tăng dần bán kính cho đến khi phép mở sử dụng bán kính 10 chỉ để lại những đồng đôla là những đồng có kích cỡ to nhất. Bằng việc đếm số vùng bị biến mất sau mỗi phép lặp (thƣờng dễ dàng hơn nếu đếm trực tiếp các đồng xu cùng cỡ) có thể giúp ta ƣớc tính đƣợc tổng giá trị của những đồng xu trong ảnh. Ở nhiều nƣớc, tiền giấy cũng có giá trị tuỳ theo cỡ và việc phân lớp các hối phiếu theo cỡ tiền cũng thật quan trọng 32 Sinh viên thực hiện: Vũ Việt Hà - Lớp CT901 - Khoá 9 - Ngành Công nghệ thông tin
- Đề tài tốt nghiệp Tìm hiểu phép toán hình thái Hình 2.19: Phân lớp những đồng xu a. ảnh những đồng xu cần phân lớp b. Sau khi mở bằng cấu trúc bán kính 6 c. Sau khi mở bằng cấu trúc bán kính 6.5 d. ảnh (c) sau khi phân ngƣỡng thấy đồng hào có thể bị xoá e. Sau khi mở bằng bán kính 8; nhận thấy đồng xu đã bị xoá f. Sau khi mở bằng bán kính 10;chỉ còn lại đồng 1 đồng. 2.3. Thao tác trên ảnh màu Màu có thể đƣợc dùng theo hai cách. Chúng ta có thể giả thiết rằng sự tồn tại của ba màu thành phần (red, green, blue) là sự mở rộng dựa trên mức xám, mỗi màu có thể đƣợc coi nhƣ một miền giá trị độc lập chứa thông tin mới (chẳng hạn có 256 mức cho red, 256 mức cho blue, 256 cho green). Ta xét một ví dụ đơn giản của phép toán hình thái trên ảnh màu. Hình 2.20a là ảnh xám đƣợc lấy ra từ một ảnh mầu. Nó chụp cảnh một con châu chấu bám trên một chiếc lá. Cả hai, châu chấu và nền hầu nhƣ cùng mầu nên việc xác định đâu là châu chấu đâu là nền quả là khó khăn một chút. Bằng việc kiểm tra chặt 33 Sinh viên thực hiện: Vũ Việt Hà - Lớp CT901 - Khoá 9 - Ngành Công nghệ thông tin
- Đề tài tốt nghiệp Tìm hiểu phép toán hình thái chẽ trên ba ảnh với ba màu riêng biệt (red, green, blue) thì thấy rằng chúng có một sự khác nhau chút ít: Châu chấu dƣờng nhƣ sáng hơn trong ảnh màu đỏ và xanh dƣơng(blue), trái lại trong ảnh green thì nền lại có vẻ nhƣ sáng hơn. Phép đóng ảnh đỏ và xanh dƣơng làm sáng châu chấu hơn, phép mở ảnh xanh lá cây sẽ làm cho viền sáng hơn một chút. Một phần tử cấu trúc tròn với bán kính 4 đƣợc sử dụng trong mỗi trƣờng hợp. Sau những phép đóng mở, ba thành phần này có vẻ nhƣ dần hợp lại thành một ảnh mầu. Hình 2.20: Hình thái học mầu a. ảnh một con châu chấu b. Thành phần Red trong ảnh mầu R,G,B c. Thành phần Green d. Thành phần Blue e. ảnh nhận đƣợc từ việc đóng thành phần Red và Blue và mở phần Green f. ảnh gốc đƣợc che với một ảnh đƣợc xử lý cho ta thấy hình con châu chấu. 34 Sinh viên thực hiện: Vũ Việt Hà - Lớp CT901 - Khoá 9 - Ngành Công nghệ thông tin
- Đề tài tốt nghiệp Tìm hiểu phép toán hình thái CHƢƠNG III ỨNG DỤNG CỦA HÌNH THÁI HỌC 3.1. Ứng dụng thực tiễn Trong xử lý ảnh và nhận dạng ảnh, có một số loại ảnh đƣờng nét gồm các đối tƣợng (objects) là các đƣờng cong có độ dài lớn hơn nhiều so với độ dày của nó, ví dụ nhƣ là ảnh các kí tự, dấu vân tay, sơ đồ mạch điện tử, bản vẽ kĩ thuật, bản đồ v.v Để xử lý các loại ảnh này ngƣời ta thƣờng xây dựng các hệ mô phỏng theo cách phân tích ảnh của con ngƣời gọi là hệ thống thị giác máy (Computer Vision System). Có nhiều hệ thống đƣợc cài đặt theo phƣơng pháp này (xem hình 3.1) nhƣ hệ thống nhận dạng chữ viết bằng thiết bị quang học OCR (Optical Character Recognition ), hệ thống nhận dạng vân tay AFIS (Automated fingerprint Identification System) v.v §äc ¶nh TiÒn (Scanner/Camera)xö lý (N©ng cÊp vµ kh«i phôc) TrÝch trän ®Æc ®iÓm §èi s¸nh NhËn d¹ng Hình 3.1 : Mô hình tổng quát của hệ thống nhận dạng ảnh 35 Sinh viên thực hiện: Vũ Việt Hà - Lớp CT901 - Khoá 9 - Ngành Công nghệ thông tin
- Đề tài tốt nghiệp Tìm hiểu phép toán hình thái Có nhiều phƣơng pháp trích chọn đặc điểm đƣợc biết tới nhƣ phƣơng pháp sử dụng sóng ngắn (Wavelet), sử dụng hệ số Fourier, sử dụng các mô men bất biến, sử dụng các đặc trƣng của biên nhƣ tính trơn và các điểm đặc biệt, sử dụng các đặc trƣng tô pô dựa trên xƣơng của đƣờng nét Phƣơng pháp trích chọn đặc điểm sử dụng ảnh đã mảnh đƣợc sử dụng nhiều vì việc trích chọn đặc điểm trở nên dễ dàng. Sau bƣớc này các đƣờng nét đã mảnh đƣợc véctơ hoá ảnh phục vụ việc nén dữ liệu, nhằm giảm thiểu yêu cầu về không gian lƣu trữ, xử lý và thời gian xử lý. Kĩ thuật làm mảnh là một trong nhiều ứng dụng của phép toán hình thái học (Morphology). Thông thƣờng các thuật toán làm mảnh thƣờng bao gồm nhiều lần lặp, trong mỗi lần lặp tất cả các điểm của đối tƣợng sẽ đƣợc kiểm tra nếu nhƣ chúng thoả mãn điều kiện xoá nào đó tuỳ thuộc vào thuật toán thì nó sẽ bị xoá đi. Quá trình đƣợc lặp lại cho đến khi không còn điểm biên nào đƣợc xoá. Đối tƣợng đƣợc bóc dần lớp biên cho đến khi bị thu mảnh lại thành một đƣờng duy nhất có bề dày 1 điểm ảnh. Nhƣng trong thực tế, chẳng hạn khi sử dụng các phép toán hình thái nhằm lấp đầy các lỗ hổng, làm trơn biên và nối số đƣờng đứt nét, đôi khi ta chỉ bóc một số lớp nhất định để làm mảnh đối tƣợng đến một độ nhất định và bản thân trong mỗi phần trong cùng một ảnh lại cần làm mảnh với một số lớp khác nhau. 3.2. Xƣơng và làm mảnh Nhƣ chúng ta đã biết rằng, phép toán dãn nở ảnh cho phép lấp đầy các lỗ hổng, làm trơn biên và nối một số đƣờng đứt nét. Sau giai đoạn nối các đƣờng đứt nét cần giảm độ dày của đƣờng do phép toán dãn nở, khi đó phải sử dụng phép co. Trong một số trƣờng hợp thì nhƣợc điểm của phép co ảnh là làm đứt nét các đƣờng, làm mất tính liên thông của đƣờng. Do đó ta phải tìm cách khắc phục nhƣợc điểm đó và phép toán làm “mảnh ảnh " hay “tìm xƣơng" đã ra đời. Đó là một trong nhiều ứng dụng của phép toán Hình thái học (Morphology), mà trong Đồ án này ta muốn sơ qua. Mọi ngƣời đang làm việc trong lĩnh vực thị giác máy tính đều biết làm mảnh (thinning) là gì ?. Đó là việc bạn phải làm gì để xác định xƣơng (Skeleton) của một đối tƣợng, thƣờng là của một đối tƣợng nhị phân. Vậy ta có thể đặt ra một câu hỏi: "Xƣơng là gì ?". Bây giờ chúng ta sẽ tìm hiểu chúng. Nhƣ với cấu trúc (texture), không có một định nghĩa chung nào cho khái niệm một xƣơng là gì ?. Và tệ hơn 36 Sinh viên thực hiện: Vũ Việt Hà - Lớp CT901 - Khoá 9 - Ngành Công nghệ thông tin
- Đề tài tốt nghiệp Tìm hiểu phép toán hình thái không giống với cấu trúc, chúng ta có thể không nhận biết đƣợc một xƣơng khi chúng ta nhìn thấy nó. Đây là một điều đáng tiếc bởi vì sự phát sinh của một xƣơng số (digital skeleton) thƣờng là một trong các bƣớc xử lí đầu tiên thực hiện bởi một hệ thống thị giác máy khi thử trích ra các đặc tính (featurre) từ một đối tƣợng trong một ảnh. Một xƣơng đƣợc xem nhƣ dùng để mô tả hình dạng của đối tƣợng theo một số ít các điểm ảnh có liên quan, tất cả các điểm ảnh đó (trong một vài khả năng) thuộc về cùng một cấu trúc (structural) và do đó nó rất cần thiết. Trong các ảnh đoạn, xƣơng truyền đạt tất cả các thông tin đƣợc thấy trong ảnh nguyên bản ban đầu, trong xƣơng các giá trị nhƣ: Vị trí, phƣơng hƣớng và độ dài của các đoạn thẳng chính là những đặc trƣng cốt yếu của các đƣờng trong ảnh ban đầu. Điều này đơn giản hoá việc biểu diễn các bộ phận của ảnh đoạn. Do đó làm mảnh ảnh có thể được định nghĩa như là hoạt động của việc nhận dạng (idenfying) các điểm ảnh của một đối tượng mà các điểm ảnh đó là các điểm cốt yếu cho việc mô tả hình dạng của đối tượng: Đó là các điểm xƣơng và các điểm xƣơng đó tạo thành một tập các điểm xƣơng;hay nói cách khác làm mảnh có thể đƣợc xem là việc đồng nhất các điểm ảnh của một đối tƣợng mà các điểm ảnh đó chứa thông tin về hình dáng của đối tƣợng, các điểm ảnh này đƣợc gọi là các điểm xƣơng ảnh, và là một bộ mẫu. Cũng có một số xƣơng dạng số đƣợc đƣa ra nhƣng vẫn chƣa hoàn toàn đƣợc chấp nhận. Hàng trăm bài báo dựa trên chủ đề của việc làm mảnh đƣợc in ấn; phần lớn chúng quan tâm đến việc thực hiện một sự thay đổi (biến tấu) trên một phƣơng pháp làm mảnh đang tồn tại, trong đó các hƣớng mới lạ đƣợc liên kết (liên hệ) cho việc thực hiện thuật toán. Nhiều thuật toán làm mảnh gần đây đƣợc thiết kế với một tốc độ đáng kể. Tốc độ của thuật toán đƣợc cải tiến không ngừng; Chất lƣợng của xƣơng cũng ngày càng đƣợc cải tiến. Trong chƣơng này một số tiếp cận về làm mảnh ảnh sẽ đƣợc khảo sát (xem xét) và chúng ta sẽ luôn trở lại kết quả nguyên bản của định nghĩa ngoại trừ việc tìm kiếm một cách giải quyết. Tuy nhiên, có 3 điều cần lƣu ý về làm mảnh: 1) Không phải tất cả các đối tƣợng đều có thể và phải đƣợc làm mảnh, việc làm mảnh là hữu dụng (có ích) cho các đối tƣợng ăn khớp của các đoạn, nghĩa là chúng chỉ thẳng hoặc cong và việc làm mảnh là không hữu dụng (không có ích) cho các đối tƣợng có hình dạng khép kín một vùng. Ví dụ, một đƣờng cong có thể đƣợc làm mảnh nhƣng một hình đĩa không thể làm mảnh một cách đầy đủ. 37 Sinh viên thực hiện: Vũ Việt Hà - Lớp CT901 - Khoá 9 - Ngành Công nghệ thông tin
- Đề tài tốt nghiệp Tìm hiểu phép toán hình thái 2) Những gì hoạt động nhƣ là một xƣơng trong tình huống này có thể không hoạt động trong tình huống khác. Làm mảnh thƣờng là một bƣớc chuẩn bị một ảnh cho các bƣớc xử lý tiếp theo. Tất nhiên, các bƣớc tiếp theo sau thƣờng làm việc với các đặc trƣng (thuộc tính) cần thiết của xƣơng. 3) Làm mảnh là hoạt động của việc nhận dạng xƣơng và không đƣợc xác định bằng thuật toán đã dùng. Đặc biệt, việc làm mảnh không phải luôn luôn làm công việc xử lý lặp lại việc lột bỏ đi lớp bên ngoài của các điểm ảnh. 3.3. Các phƣơng pháp lặp hình thái học Phần lớn các thuật toán làm mảnh dựa trên một vòng lặp lột bỏ dần đi các lớp điểm ảnh cho đến khi không còn nhiều hơn một lớp đựoc xoá bỏ. Có một tập các quy tắc để xác định các điểm ảnh cần loại bỏ và thông thƣờng một vài dạng của cấu trúc mẫu phù hợp (template-matching) đƣợc dùng để thực hiện các quy tắc đó. Thông thƣờng các quy tắc đƣợc thiết kế sao cho dễ dàng nhận biết đƣợc khi nào thì kết thúc: Đó là khi không có sự thay đổi nào xảy ra sau 2 lần duyệt qua ảnh. Thuật toán đầu tiên (thuật toán Stentiford) đƣợc đề xuất năm 1983 là điển hình của kiểu này. Nó sử dụng các mẫu 3x3 và cách thức hoạt động của nó nhƣ sau: Di mẫu trên ảnh, nếu nhƣ mẫu phù hợp ảnh thì loại bỏ (đặt trắng ) điểm ảnh trung tâm. Thuật toán cơ bản nhƣ sau: 1) Tìm một vị trí điểm ảnh (i, j), vị trí mà các điểm ảnh trong ảnh I phù hợp với các điểm ảnh trong mẫu M1(Hình 3.2a). 2) Nếu điểm ảnh trung tâm không phải là điểm cuối (endpoint) và có giá trị liên kết là 1 thì đánh dấu điểm này cho lần xoá sau đó. 3) Lặp lại bƣớc 1 và 2 cho tất cả các vị trí điểm ảnh phù hợp với mẫu M1. 4) Lặp lại bƣớc 1-3 lần lƣợt cho các mẫu còn lại: M2, M3 và M4. 5) Nếu bất kỳ điểm ảnh nào đƣợc đánh dấu cho thao tác xoá bỏ thì xoá chúng bằng cách tạo cho chúng thành màu trắng. 6) Nếu bất kỳ điểm ảnh nào đã đƣợc xoá ở bƣớc 5) thì lặp lại toàn bộ quá trình xử lý từ bƣớc 1), còn không thì thuật toán dừng. 38 Sinh viên thực hiện: Vũ Việt Hà - Lớp CT901 - Khoá 9 - Ngành Công nghệ thông tin
- Đề tài tốt nghiệp Tìm hiểu phép toán hình thái Hì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 Những điểm đen và trắng xác định trong mẫu phải tƣơng ứng những điểm cùng mầu trong ảnh; Những điểm X quyết định chỗ nào trong ảnh ta không cần quan tâm tới mầu của nó. Ảnh phải đƣợc quét theo một thứ tự riêng biệt đối với từng mẫu. Chức năng của mẫu M1 là tìm các điểm ảnh có khả năng đƣợc xoá dọc theo cạnh trên cùng của đối tƣợng và chúng ta tìm kiếm cho một sự phù hợp từ trái sang phải, sau đó từ trên xuống dƣới. Mẫu M2 phù hợp với một điểm ảnh phía bên trái của một đối tƣợng, mẫu này xoá từ dƣới lên trên ảnh, từ trái sang phải. Mẫu M3 sẽ định vị các điểm ảnh dọc theo cạnh dƣới và xoá từ phải sang trái, từ dƣới lên trên. Cuối cùng, tìm các điểm ảnh có thể xoá phía bên phải của đối tƣợng, phù hợp với mẫu M4 tính từ trên xuống dƣới, từ phải sang trái. Phƣơng hƣớng và thứ tự xác định này áp dụng cho các mẫu đảm bảo rằng các điểm ảnh sẽ bị xoá theo cách đối xứng mà không cần bất cứ một đƣờng chéo định hƣớng nào. Có hai vấn đề tiếp tục cần giải quyết mà cả 2 vấn đề này đều xuất phát từ bƣớc 2. Một điểm ảnh là một điểm cuối (endpoint) nếu nó chỉ đƣợc liên kết với một điểm ảnh khác, nghĩa là, nếu một điểm ảnh đen chỉ có một điểm đen bên ngoài 8-láng giềng của nó. Nếu các điểm cuối bị xoá thì bất kỳ các đƣờng thẳng và các đƣờng cong mở nào cũng sẽ bị xoá hoàn toàn, điều này phần nào giống nhƣ việc mở một dây khoá quần áo(zipper). 39 Sinh viên thực hiện: Vũ Việt Hà - Lớp CT901 - Khoá 9 - Ngành Công nghệ thông tin
- Đề tài tốt nghiệp Tìm hiểu phép toán hình thái Khái niệm số liên kết (connectivity number) là một chút thách thức hơn cho chúng ta. Bởi vì chúng ta chỉ đang sử dụng các phần rất nhỏ của một ảnh. Vai trò của các đoạn ảnh đó trong toàn bộ bức ảnh không đƣợc rõ ràng. Đôi khi, một điểm ảnh đơn kết nối 2 phần lớn hơn của một đối tƣợng và đó là trực giác tất nhiên mà nhƣ vậy một điểm ảnh không thể đƣơc xoá. Để làm đƣợc nhƣ vậy ta sẽ phải tạo 2 đối tƣợng trong đó chỉ có một đối tƣợng nguyên bản. Hình 3.3: Một minh hoạ về số liên kết a. Điểm trung tâm không liên kết với bất cứ vùng nào và có thể bị xoá. Số liên kết bằng 1 b. Nếu điểm trung tâm đã bị xoá, hai phần trái và phải sẽ trở thành không liên kết. Số liên kết bằng 2 c. Số liên kết bằng 3 d. Số liên kết bằng 4, cực đại e. Liên kết bằng 0. Số kết nối chính là một sự đo lƣờng xem có bao nhiêu đối tƣợng mà một điểm ảnh có thể kết nối. Một cách đo lƣờng các kết nối, đƣợc thấy nhƣ trong hình 3.3 (đẳng thức Yokoi 1973) là: Cn Nk (Nk * Nk 1 * Nk 2)(Eq3.1) k S 40 Sinh viên thực hiện: Vũ Việt Hà - Lớp CT901 - Khoá 9 - Ngành Công nghệ thông tin
- Đề tài tốt nghiệp Tìm hiểu phép toán hình thái Trong đó Nk là giá trị màu của một trong các 8_láng giềng của điểm ảnh đƣợc liên kết và S= {1, 3, 5, 7}. N1 là giá trị màu của điểm ảnh bên phải của điểm ảnh trung tâm và chúng đƣợc số hoá theo thứ tự ngƣợc chiều kim đồng hồ, xung quanh điểm ảnh trung tâm. Giá trị của Nk là 1 nếu điểm ảnh là điểm trắng (Điểm ảnh nền) và giá trị của Nk là 0 nếu điểm ảnh là điểm đen (điểm ảnh thuộc đối tƣợng). Điểm ảnh trung tâm là N0 và Nk=Nk - 8 nếu k>8. Một cách khác mà giá trị liên kết có thể đƣợc tính toán bằng cách xét các điểm láng giềng theo thứ tự: N1, N2, Ns, N1. Số các thay đổi màu(đen-trắng) đƣợc dùng đếm số vùng điểm ảnh trung tâm kết nối. Hình 3.4 trình bày một vòng lặp (đầu tiên) của thuật toán làm mảnh áp dụng cho đối tƣợng có hình dạng chữ T. Một vòng lặp bao gồm một quá trình duyệt qua đối với mỗi mẫu trong 4 mẫu đã cho. Các điểm đen đƣợc đánh dấu cho thao tác xoá và điều đó dễ nhận ra trong sơ đồ một cách chính xác những gì mỗi mẫu thực hiện. Mỗi vòng lặp hoàn thành có hiệu quả xói mòn một lớp các điểm ảnh từ bên ngoài của đối tƣợng nhƣng không giống với phép co ảnh hình thái chuẩn, việc xoá bỏ của một điểm ảnh không làm mất tính liên thông. 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. Trong mỗi trƣờng hợp, những điểm đen đại diện cho chúng bị xoá trong lần lặp này. 41 Sinh viên thực hiện: Vũ Việt Hà - Lớp CT901 - Khoá 9 - Ngành Công nghệ thông tin
- Đề tài tốt nghiệp Tìm hiểu phép toán hình thái Để hoàn chỉnh việc làm mảnh đối tƣợng này đòi hỏi 13 vòng lặp (việc đếm vòng lặp cuối cùng mà không có thao tác nào ngoại trừ những hiển thị cho chúng ta kết thúc). Hình 3.5 trình bày ảnh kết quả sau mỗi vòng lặp. 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. hai vòng lặp cuối tƣơng tự, thêm một lần quét phụ đảm bảo rằng xƣơng hoàn chỉnh. Một vòng lặp thực hiện 4 lần duyệt ảnh mà trong trƣờng hợp này duyệt qua 60x60 điểm ảnh hay 3600 điểm ảnh. Nhƣ vậy, 187, 000 điểm ảnh đã đƣợc kiểm tra chỉ để làm mảnh một ảnh đơn giản này. Điều đó trở nên tồi tệ hơn: Mỗi quá trình áp dụng mẫu xem xét kiểm tra 3 điểm ảnh và mỗi lần có sự phù hợp mẫu xảy ra, 18 điểm ảnh khác đƣợc xem xét kiểm tra (giới hạn trên là: 10108800 điểm ảnh, nhƣng chỉ có một phần trong chúng đƣợc kiểm tra trong thực hành). Cuối cùng, sẽ có thêm một quá trình duyệt mỗi vòng lặp để xoá các điểm ảnh đã đánh dấu(10, 102, 000 ). 42 Sinh viên thực hiện: Vũ Việt Hà - Lớp CT901 - Khoá 9 - Ngành Công nghệ thông tin
- Đề tài tốt nghiệp Tìm hiểu phép toán hình thái Đây là một cách làm tốn kém để làm mảnh một ảnh nhỏ nhƣng là phƣơng pháp điển hình hoàn chỉnh của các thuật toán đánh dấu và xoá mẫu cơ bản. Có một vài vấn đề cố hữu cùng với thuật toán làm mảnh này mà chúng trình bày dƣới đây nhƣ nhƣ là các tạo tác trong xƣơng. Chúng là cố hữu bởi vì chúng có khuynh hƣớng xuất hiện trong rất nhiều thuật toán kiểu này, các nhà nghiên cứu trong lĩnh vực này đã nhận thức đƣợc để đoán nhận chúng. Thuật toán đầu tiên đƣợc gọi là “necking” mà trong đó một điểm hẹp ở giao điểm của hai đƣờng thẳng đƣợc kéo dãn ra thành một đoạn thẳng nhỏ (hình 3.6a). Các phần đuôi có thể đƣợc tạo nơi không tồn tại do việc làm mảnh quá mức nơi hai đƣờng gặp nhau ở một góc nhọn (hình 3.6b). Cuối cùng, có lẽ phổ biến, là sự khởi tạo của các đoạn thẳng phụ ngoài để chắp nối một đoạn xƣơng thực sự. Nó đƣợc gọi là một phép chiếu giả mạo, những sợi tóc (Hình 3.6). Hình 3.6: Những tạo 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. 43 Sinh viên thực hiện: Vũ Việt Hà - Lớp CT901 - Khoá 9 - Ngành Công nghệ thông tin
- Đề tài tốt nghiệp Tìm hiểu phép toán hình thái Stentiord đề nghị một giai đoạn tiền xử lý để cực tiểu hoá các chế tác làm mảnh đó. Do bởi các đƣờng sơ thƣờng đƣợc tạo ra bởi những bất quy tắc nhỏ theo đƣờng biên ngoài của đối tƣợng, nên phải tiến hành làm trơn trƣớc khi làm mảnh đễ xóa bỏ chúng. Điều cơ bản là một quá trình duyệt đƣợc thực hiện trên tất cả các điểm ảnh, xoá bỏ các điểm ảnh có hai hoặc ít hơn các điểm láng giềng đen và có một giá trị liên kết nhỏ hơn 2. Để xử lý với “necking”, ông đề nghị một thủ tục đƣợc gọi là thủ tục phân giác góc nhọn (acute angle amphasis), mà trong đó các điểm ảnh gần khớp nối giữa hai dòng đƣợc tạo thành màu trắng nếu chúng khép lại tạo thành một góc nhọn. Điều này đƣợc thực hiện bằng cách dùng mẫu nhƣ đã thấy trong hình 3.7. Một sự phù hợp với bất kì mẫu nào đánh dấu điểm ảnh trung tâm cho thao tác xoá và tạo ra vòng lặp khác của một số ít các phân giác góc nhọn quan trọng chỉ dùng ba mẫu đầu tiên của mỗi kiểu. Nếu bất kỳ điểm ảnh nào đã đƣợc xoá bỏ, một lần duyệt cuối cùng chỉ dùng các mẫu đầu tiên của mỗi kiểu đƣợc thực hiện. Hình 3.7: Các mẫu đƣợc dùng cho bƣớc xử lý phân giác góc nhọn. Làm trơn (Smoothing) đƣợc hoàn thành đầu tiên, tiếp theo là tất cả các quá trình duyệt qua ảnh của các phân giác góc nhọn. Cuối cùng là các bƣớc làm mảnh ảnh. Hình 3.8 trình bày các xƣơng kết quả cuối cùng của các ký tự trong hình 3.8. Khi các bƣớc tiền xử lý đƣợc gộp vào. 44 Sinh viên thực hiện: Vũ Việt Hà - Lớp CT901 - Khoá 9 - Ngành Công nghệ thông tin
- Đề tài tốt nghiệp Tìm hiểu phép toán hình thái 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. Hơn nữa, hầu hết các xƣơng đó xuất hiện khi dùng phƣơng pháp này vẫn bị rạn nứt. Cách dùng 3 giai đoạn của các phân giác góc nhọn sẽ không hiệu quả đối với các ký tự rất dày, và các mẫu không phù hợp với tất cả các tình huống mà có thể gây ra cổ cột và đuôi cột. Cũng nhƣ vậy, bƣớc làm trơn sẽ không bắt gặp các bất quy tắc mà các bất quy tắc này có thể tạo nên các đƣòng sơ. Mặc dù vậy, việc hoàn chỉnh thuật toán sẽ không đƣợc nhƣ mong đợi và phƣơng pháp là tƣơng đối tốt, đặc biệt là bƣớc tiền xử lý cho việc nhận dạng ký tự. Một thuật toán làm mảnh dƣờng nhƣ là công cụ cho mọi ngƣời, đó là thuật toán Zhang_Suen(Zhang 1984). Thuật toán này đƣợc sử dụng nhƣ một nền tảng cơ sở cho việc so sánh các thuật toán làm mảnh trong nhiều năm, và nó nhanh, đơn giản khi thực hiện. Thuật toán này là một phƣơng pháp song song, có nghĩa là giá trị mới cho bất kỳ điểm ảnh nào có thể đƣợc tính toán chỉ dùng các giá trị đã biết từ trong vòng lặp trƣớc. Do đó, nếu máy tính có một CPU cho mỗi điểm ảnh đã đƣợc cung cấp trƣớc, nó có thể xác định toàn bộ quá trình lặp tiếp theo một cách đồng thời. Vì hầu hết chúng ta không có một máy tính có kích cỡ nhƣ vậy, do đó, chúng ta chỉ xem xét phiên bản của chƣơng trình mà nó chỉ dùng 1 CPU. Thuật toán đƣợc ngắt thành hai vòng lặp con, ví dụ, thay vì 4 vòng lặp con của thuật toán Stentiford. Trong một vòng lặp con, một điểm ảnh I(i, j) đƣợc xoá (hay đƣợc đánh dấu cho thao tác xoá bỏ) nếu 4 điều kiện sau đây đƣợc thoả mãn: 1) Giá trị liên kết cuả nó là 1. 2) Nó có 2 điểm láng giềng đen nhỏ nhất và không lớn hơn 6. 3) Một trong các điểm đen nhỏ nhất: I(i, j+1), I(i-1, j) và I(i, j-1) là điểm nền(điểm màu trắng). 45 Sinh viên thực hiện: Vũ Việt Hà - Lớp CT901 - Khoá 9 - Ngành Công nghệ thông tin
- Đề tài tốt nghiệp Tìm hiểu phép toán hình thái 4) Một trong các điểm nhỏ nhất: I(i-1, j), I(i+1, j) và I(i, j-1) là điểm ảnh nền. Tại cuối vòng lặp con này các điểm đã đánh dấu đƣợc xoá bỏ. Vòng lặp con tiếp theo sau làm tƣơng tự ngoại trừ bƣớc 3 và 4. 1) Một trong các điểm đen nhỏ nhất: I(i, j+1), I(i-1, j) và I(i, j-1) là điểm nền(màu trắng). 2) Một trong các điểm nhỏ nhất I(i-1, j), I(i+1, j) và I(i, j-1) là điểm ảnh nền Trở lại, bất kỳ điểm ảnh nào đã đánh dấu đều đƣợc xoá bỏ. Nếu ở cuối vòng lặp con khác không có điểm nào đƣợc xoá thì xƣơng hoàn toàn đƣợc xác định và chƣơng trình kết thúc. 3.4. Nhận dạng biên Những điểm ảnh trên biên của một đối tƣợng là những điểm ảnh trên biên mà có ít nhất một điểm ảnh lân cận thuộc nền. Do bởi lân cận nền cụ thể là không biết trƣớc mà phải tìm, vả lại không thể tạo ra đƣợc một cấu trúc đơn mà cho phép phép co hoặc phép dãn dò ra biên, mặc dầu rằng trong thực tế, một phép co bởi phần tử cấu trúc đơn giản chính xác là có thể xoá những điểm biên. Mặt khác ta lại có thể áp dụng điều này để thiết kế một phép toán hình thái dò biên. Biên có thể đƣợc tách ra bằng cách sử dụng một phép co và ảnh đƣợc co sau đó đƣợc trừ đi bởi ảnh gốc. Tƣơng tác này sẽ để lại cho ta những điểm ảnh mà đƣợc co, đó chính là biên. Điều này đƣợc viết nhƣ sau: Biên = A - (A Cấu trúc đơn giản ) Hình 3.9: Kết quả làm mảnh a) Ảnh ban đầu b) Áp dụng Erosion c) Ảnh ban đầu – đi ảnh đã biến đổi 46 Sinh viên thực hiện: Vũ Việt Hà - Lớp CT901 - Khoá 9 - Ngành Công nghệ thông tin
- Đề tài tốt nghiệp Tìm hiểu phép toán hình thái CHƯƠNG IV: CÀI ĐẶT Cài đặt thử nghiệm các phép toán hình thái : co ảnh, dãn ảnh ,open , close , làm mảnh và phát hiện biên trên ngôn ngữ Visual C. Giao diện chƣơng trình 47 Sinh viên thực hiện: Vũ Việt Hà - Lớp CT901 - Khoá 9 - Ngành Công nghệ thông tin
- Đề tài tốt nghiệp Tìm hiểu phép toán hình thái Một số kết quả chƣơng trình đạt đƣợc Kết quả của phép dãn (dilation) Kết quả của phép co(Erosion) 48 Sinh viên thực hiện: Vũ Việt Hà - Lớp CT901 - Khoá 9 - Ngành Công nghệ thông tin
- Đề tài tốt nghiệp Tìm hiểu phép toán hình thái Kết quả của phép đóng (close) Kết quả của phép mở(open) 49 Sinh viên thực hiện: Vũ Việt Hà - Lớp CT901 - Khoá 9 - Ngành Công nghệ thông tin
- Đề tài tốt nghiệp Tìm hiểu phép toán hình thái Kết quả của làm mảnh KẾT LUẬN Đồ án đã có một cách nhìn tổng quát về Morphology và cách sử dụng chúng. Sơ lƣợc về xử lý ảnh và Morphology đã nêu ra : - Hệ thống xử lý ảnh tổng quát - Các giai đoạn của quá trình xử lý ảnh - Khái niệm về xử lý ảnh, Morphology,ảnh nhị phân Thao tác với Morphology giới thiệu : - Định nghĩa các phép toán hình thái nhƣ : dãn, co, đóng, mở, nhận dạng biên, đánh trúng, đánh trƣợt - Cách sử dụng của các thao tác, chủ yếu đối với ảnh nhị phân và ảnh xám, có kèm các minh hoạ về sử dụng chúng. Ứng dụng của Morphology trình bày : - Ứng dụng của Morphology trong thực tiễn 50 Sinh viên thực hiện: Vũ Việt Hà - Lớp CT901 - Khoá 9 - Ngành Công nghệ thông tin
- Đề tài tốt nghiệp Tìm hiểu phép toán hình thái - Trình bày một ứng dụng quan trọng của Morphology là làm mảnh và phát hiện biên. Cài đặt thử nghiệm chƣơng trình : - Minh hoạ một cách chi tiết một số thao tác hình thái học nhƣ: Dãn, co, đóng, mở,làm mảnh, nhận dạng biên. Đồ án có thể là tài liệu tham khảo cho những ngƣời bắt đầu tìm hiểu về xử lý ảnh nói chung và các thao tác hình thái học (Morphology) nói riêng, giúp họ có đƣợc những khái niệm, đánh giá sơ đẳng, thuận tiện cho việc nghiên cứu sau này. Vì thời gian có hạn nên Đồ án chỉ đề cập đến một số thao tác, khái niệm cơ bản, ứng dụng chủ yếu trong ảnh nhị phân và ảnh xám do đó không thể tránh khỏi những sơ suất và thiếu sót. Rất mong nhận đƣợc sự thông cảm và góp ý thêm. Em xin chân thành cảm ơn 51 Sinh viên thực hiện: Vũ Việt Hà - Lớp CT901 - Khoá 9 - Ngành Công nghệ thông tin
- lam1Dia chiviec Đề tài tốt nghiệp Tìm hiểu phép toán hình thái TÀI LIỆU THAM KHẢO 1. Đỗ Năng Toàn, Ngô Quốc Tạo (1998), "Kết hợp các phép toán hình thái học và làm mảnh để nâng cao chất lượng ảnh đường nét", Tạp chí Tin học và Điều khiển học, Tập 14, số 3, tr. 23-29. 2. Bạch Hưng Khang, Lương Chi Mai, Ngô Quốc Tạo, Đỗ Năng Toàn, et al., An Examination of Techiques for Raster to Vector Process and Its Implementation Mapscan Package Software, International Symposium, AMPST 96, University of Braford, UK, 26-27 March, 1996. 3. Najman L. (2004), “Using mathematical morphology for document skew estimation”, In procs. SPIE Document Recognition and Retrieval XI, pp. 182-191. 4. Paker J. R. (1997), Algorithms for Image processing and Computer Vision. John Wiley & Sons, Inc. 5. www.cuasoit.com 6. www.diendantinhoc.com 52 Sinh viên thực hiện: Vũ Việt Hà - Lớp CT901 - Khoá 9 - Ngành Công nghệ thông tin