ĐẠI HỌC THÁI NGUYÊN TRƯỜNG ĐẠI HỌC CNTT & TT ––––––––––––––––––––––––

VŨ HOÀNG NAM

MỘT SỐ TÍNH CHẤT NỘI SUY ẢNH SỐ

SỬ DỤNG PHÉP TOÁN HÌNH THÁI VÀ ỨNG DỤNG PHÉP LỌC HÌNH THÁI HỌC ĐỂ NÂNG CAO CHẤT LƯỢNG ẢNH TÀI LIỆU KÉM CHẤT LƯỢNG

LUẬN VĂN THẠC SĨ KHOA HỌC MÁY TÍNH

THÁI NGUYÊN- 2020

ĐẠI HỌC THÁI NGUYÊN TRƯỜNG ĐẠI HỌC CNTT & TT –––––––––––––––––––––

VŨ HOÀNG NAM

MỘT SỐ TÍNH CHẤT NỘI SUY ẢNH SỐ SỬ DỤNG PHÉP TOÁN HÌNH THÁI VÀ ỨNG DỤNG

PHÉP LỌC HÌNH THÁI HỌC ĐỂ NÂNG CAO CHẤT LƯỢNG ẢNH TÀI LIỆU KÉM CHẤT LƯỢNG

Chuyên ngành: Khoa học máy tính

Mã số: 8.48 01 01

LUẬN VĂN THẠC SĨ KHOA HỌC MÁY TÍNH

NGƯỜI HƯỚNG DẪN KHOA HỌC: PGS. TS. NGÔ QUỐC TẠO

THÁI NGUYÊN- 2020

i

LỜI CAM ĐOAN

Tên tôi là: Vũ Hoàng Nam

Sinh ngày: 08/12/1990

Học viên lớp CHK17A - Trường Đại học Công nghệ thông tin và truyền

thông - Đại học Thái Nguyên.

Hiện đang công tác tại Trung tâm Giáo dục quốc phòng và an ninh - Đại

học Thái Nguyên.

Tác giả xin cam đoan những kết quả nghiên cứu được trình bày trong

luận văn“Một số tính chất nội suy ảnh số sử dụng phép toán hình thái và ứng

dụng phép lọc hình thái học để nâng cao chất lượng ảnh tài liệu kém chất

lượng”do PGS.TS Ngô Quốc Tạo hướng dẫn là hoàn toàn trung thực của tác

giả, không vi phạm bất cứ điều gì trong luật sở hữu trí tuệ và pháp luật Việt

Nam. Nếu sai, tác giả hoàn toàn chịu trách nhiệm trước pháp luật.

Tác giả luận văn Vũ Hoàng Nam

ii

LỜI CẢM ƠN

Em xin gửi lời cảm ơn chân thành, sự biết ơn sâu sắc tới PGS. TS Ngô

Quốc Tạo - người đã trực tiếp hướng dẫn và định hướng giúp em có thể nhanh

chóng tiếp cận, nắm bắt kiến thức và hoàn thành luận văn. Em xin gửi lời cảm

ơn tới các thầy cô giáo trường Đại học Công nghệ thông tin và truyền thông -

Đại học Thái Nguyên, đã giảng dạy và chỉ bảo em hai năm học vừa qua. Qua

đây, tác giả cũng xin gửi lời cảm ơn đến những người thân trong gia đình, bạn

bè, đồng nghiệp đã động viên và tạo mọi điều kiện giúp tác giả hoàn thành

nhiệm vụ học tập.

Thái Nguyên, ngày 25 tháng 8 năm 2020

Học viên

Vũ Hoàng Nam

iii

MỤC LỤC

LỜI CAM ĐOAN .............................................................................................. i

LỜI CẢM ƠN ................................................................................................... ii

MỤC LỤC ........................................................................................................ iii

DANH MỤC KÍ HIỆU, CÁC CHỮ VIẾT TẮT .............................................. v

DANH MỤC CÁC HÌNH ................................................................................ vi

LỜI MỞ ĐẦU .................................................................................................. 1

CHƯƠNG 1: TỔNG QUAN VỀ XỬ LÝ ẢNH VÀ PHÉP TOÁN HÌNH

THÁI ................................................................................................................. 3

1.1. Xử lý ảnh .................................................................................................... 3

1.2. Quá trình xử lý ảnh .................................................................................... 4

1.3. Các vấn đề cơ bản trong xử lý ảnh ............................................................. 4

1.3.1. Một số khái niệm cơ bản ......................................................................... 4

1.3.2. Nắn chỉnh biến dạng................................................................................ 5

1.3.3. Khử nhiễu ................................................................................................ 6

1.3.4. Chỉnh mức xám ....................................................................................... 7

1.3.5. Trích chọn đặc điểm ................................................................................ 7

1.3.6. Nhận dạng ............................................................................................... 8

1.3.7. Nén ảnh ................................................................................................... 9

1.4. Thu nhận và biểu diễn ảnh ....................................................................... 10

1.4.1. Thu nhận, các thiết bị thu nhận ảnh ...................................................... 10

1.4.2. Biểu diễn ảnh ......................................................................................... 10

1.5. Một số phương pháp nâng cao chất lượng ảnh ........................................ 10

1.6. Các khái niệm về phép toán hình thái Morphology ................................. 11

CHƯƠNG 2: MỘT SỐ TÍNH CHẤT NỘI SUY CỦA PHÉP TOÁN

HÌNH THÁI HỌC ......................................................................................... 13

2.1. Các phép toán hình thái học ..................................................................... 13

iv

2.1.1. Các phép toán hình thái học trên ảnh nhị phân ..................................... 13

2.1.2. Các phép toán hình thái học trên ảnh xám ............................................ 16

2.1.3. Các phép toán hình thái học trên ảnh màu ............................................ 22

2.1.3.1. Hình thái học dựa trên biểu đồ đồng bằng ......................................... 22

2.1.3.2. Hình thái học dựa trên biểu đồ làm mịn............................................. 24

2.1.3.3. Hình thái học cho một loại hình ảnh tương tự ................................... 26

2.2. Các tính chất nội suy của phép toán hình thái học ................................... 26

2.3. Các phép lọc hình thái học ứng dụng cho ảnh OCR ................................ 28

2.3.1. Mô hình ảnh tài liệu kém chất lượng .................................................... 28

2.3.2. Lọc hình thái học ................................................................................... 30

2.3.2.1. Toán tử hình thái trên không gian đồ thị ............................................ 30

2.3.2.2. Toán tử hình thái trên các phức hợp đơn giản ................................... 31

2.3.2.3. Bộ lọc đóng và mở khu vực hình thái ................................................ 35

CHƯƠNG 3: THỬ NGHIỆM PHÉP LỌC HÌNH THÁI HỌC

ỨNGDỤNG CHO ẢNH TÀI LIỆU KÉM CHẤT LƯỢNG ..................... 37

3.1. Thiết kế mô hình thử nghiệm ................................................................... 37

3.2. Phép toán hình thái cơ bản ....................................................................... 37

3.3. Loại bỏ nhiễu để làm rõ đối tượng ........................................................... 38

3.4. Làm rõ điểm bất thường ........................................................................... 40

3.5. Kết hợp các phép toán hình thái để khử nhiễu ảnh .................................. 41

KẾT LUẬN .................................................................................................... 45

TÀI LIỆU THAM KHẢO ............................................................................ 46

PHỤ LỤC ....................................................................................................... 47

v

DANH MỤC KÍ HIỆU, CÁC CHỮ VIẾT TẮT

Chữ viết tắt Ý nghĩa, dạng viết đầy đủ

Nhận dạng ký tự quang học (Optical Character Recognition). OCR

sai số toàn phương trung bình (Mean squared error) MSE

PSNR Tỉ số tín hiệu cực đại trên nhiễu (peak signal-to-noise ratio)

vi

DANH MỤC CÁC HÌNH

Hình 1.1. Sơ đồ quá trình xử lý ảnh .................................................................. 4

Hình 1.2. Ảnh thu nhận và ảnh mong muốn ..................................................... 5

Hình 3.1. Minh họa các phép toán hình thái cơ bản ....................................... 38

Hình 3.2. Làm rõ đối tượng tiền cảnh ............................................................. 39

Hình 3.3. Làm rõ điểm bất thường .................................................................. 41

Hình 3.4. Khử nhiễu ảnh ................................................................................. 42

Hình 3.5. Khử nhiễu ảnh OCR ........................................................................ 43

1

LỜI MỞ ĐẦU

1. Đặt vấn đề

Hình ảnh trong cuộc sống hiện tại là một dạng dữ liệu đóng vai trò quan

trọng trong việc lưu giữ, xử lý và trao đổi thông tin. Với thời đại 4.0 nhu cầu

lưu trữ và xử lý các tài liệu, văn bản, bản vẽ kỹ thuật,… dưới dạng hình ảnh

scan hoặc dưới dạng ảnh là nhu cầu cần thiết. Tuy nhiên, các hình ảnh scan

hoặc chụp thu được bởi nhiều lý do có thể bị nhiễu, mờ nhòe, đứt nét và

không được rõ ràng… dẫn đến việc thu nhận thông tin và xử lý gặp nhiều

khó khăn. Vì vậy việc khắc phục những nhược điểm của hình ảnh thu nhận

được là việc làm rất cấp thiết. Trên thế giới cũng như tại Việt Nam đã có rất

nhiều các kỹ thuật được đưa ra, trong đó có xử lý ảnh. Các phép toán hình

thái trên ảnh cung cấp cho chúng ta những mô tả định lượng về cấu trúc và

hình dạng hình học của các đối tượng trong ảnh và nó đang được ứng dụng

rộng rãi trong việc nâng cao chất lượng ảnh, phân đoạn ảnh, kiểm tra khuyết

điểm trên ảnh,…

Trong luận văn này tác giả sẽ nghiên cứu: “Một số tính chất nội suy ảnh

số sử dụng phép toán hình thái và ứng dụng phép lọc hình thái học để nâng cao

chất lượng ảnh tài liệu kém chất lượng”.

2. Đối tượng và phạm vi nghiên cứu

Luận văn tập trung khảo sát các đối tượng liên quan đến các phép toán

hình thái:

- Lý thuyết cơ bản về xử lý ảnh; - Các phép toán hình thái. - Tính chất nội suy của phép toán hình thái.

3. Hướng nghiên cứu của đề tài

- Nghiên cứu lý thuyết liên quan đến đề tài: Quá trình xử lý ảnh, các vấn đề cơ bản trong xử lý ảnh, phép toán hình thái, tính chất nội suy của phép toán hình thái.

2

- Cài đặt thử nghiệm phép toán hình thái học ứng dụng cho ảnh tài liệu

kém chất lượng.

4. Cấu trúc của luận văn và những nội dung nghiên cứu chính

Cấu trúc của luận văn gồm:

- Phần mở đầu.

- Chương 1, 2 và 3.

- Phần kết luận và đề nghị.

- Tài liệu tham khảo.

- Phụ lục

Nội dung chính của luận văn:

Chương 1: Tổng quan về xử lý ảnh và phép toán hình thái: Tại chương

này tác giả nghiêm cứu về khái niệm xử lý ảnh, quá trình xử lý ảnh và các khái

niệm về phép toán hình thái Morphology.

Chương 2: Một số tính chất nội suy của phép toán hình thái học: Chương

này tác giả sẽ trình bày các phép toán hình thái học trên ảnh xám, ảnh màu và

các tính chất nội suy của phép toán hình thái học. Tiếp theo đó sẽ trình bày các

phép lọc hình thái học cho ảnh OCR.

Chương 3: Chương trình thử nghiệm phép lọc hình thái học ứng dụng

cho ảnh tài liệu kém chất lượng: Chương này trình bày sơ đồ chương trình, thử

nghiệm phép lọc hình thái và đánh giá MSE cũng như đánh giá PSNR.

5. Phương pháp nghiên cứu

Trong luận văn học viên sử dụng các phương pháp nghiên cứu chính sau:

- Nghiên cứu lý thuyết: Tổng hợp tài liệu, hệ thống lại các kiến thức,

tìm hiểu các khái niệm, thuật toán sử dụng trong đề tài.

- Lấy ý kiến chuyên gia.

- Lập trình thử nghiệm.

3

CHƯƠNG 1

TỔNG QUAN VỀ XỬ LÝ ẢNH VÀ PHÉP TOÁN HÌNH THÁI

Chương này trình bày về khái niệm xử lý ảnh, quá trình xử lý ảnh và các

khái niệm về phép toán hình thái Morphology.

1.1. Xử lý ảnh

Con người thu nhận thông tin qua các giác quan, trong đó thị giác đóng

vai trò quan trọng nhất. Những năm trở lại đây với sự phát triển của phần cứng

máy tính, xử lý ảnh và đồ hoạ đã phát triển một cách mạnh mẽ và có nhiều ứng

dụng trong cuộc sống. Xử lý ảnh và đồ hoạ đóng một vai trò quan trọng trong

tương tác người máy. Quá 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 nào đó.

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 nhận dạng ảnh hay đoán ảnh và đánh giá các nội dung

của ảnh.

Nhận biết và đánh giá các nội dung của ảnh (nhận dạng) 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, v.v... Kĩ thuật này được dùng

nhiều trong y học (xử lý tế bào, nhiễm sắc thể) và nhận dạng chữ viết trong văn

bản.

4

1.2. 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.

Hệ quyết định

Tiền xử lý

Hậu xử lý

Trích chọn đặc điểm

Đổi sánh rút ra kết luận

Sơ đồ tổng quát của một hệ thống xử lý ảnh:

Lưu trữ

Thu nhận ảnh (Scaner, Camera, Sénor)

Hình 1.1. Sơ đồ quá trình xử lý ảnh

1.3. Các vấn đề cơ bản trong xử lý ảnh

1.3.1. Một số khái niệm cơ bản

Điểm ảnh (pixel – viết tắt là px) là đơn vị nhỏ nhất tạo nên hình ảnh,

thường mang một màu duy nhất (kết quả của sự pha trộn các màu cơ bản giữa

các kênh màu). Để thông số điểm ảnh có ý nghĩa, người ta phải qui về một đơn

vị kích thước nhất định, như inch hay cm/mm để tính và điểm ảnh thường được

diễn đạt theo số lượng điểm trên một inch/cm chiều dài.

Các điểm ảnh được tạo thành từ sự tổ hợp 3 màu chính R (red), G (green),

B (blue). Cùng một giá trị có thể hiển thị khác nhau trên các thiết bị khác nhau.

Màu 16 bit: mỗi màu được mã hóa bằng 5 bit hay thêm một bit còn lại cho

mau xanh lá cây.

Màu 24 bit: mỗi kênh màu được mã hóa bằng 1 byte (8 bit) có giá trị nằm

trong đoạn [0-255] mã hóa được 255 * 255 * 255 = 16,581,375 màu hay gọi là

16 triệu màu.

5

Màu 32 bit: tương tự như màu 24 bit, nhưngở đây có 8 bit dư không sử

dụng (ngoại trừ khả năng sử dụng như kênh alpha). Có vận tốc cao hơn mà

phần lớn các phần cứng ngày nay có thể truy cập theo các địa chỉ byte của cấp

số 2.

Màu 48 bit: tương tự màu 16 bit nhưng mỗi thành phần được mã hóa bởi

16 bit màu, điều này làm cho mỗi màu có khả năng biểu thị 65.535 sắc thái thay

vì chỉ có 255. Được sử dụng trong chỉnh sửa ảnh chuyên nghiệp do có độ chính

xác cao hơn.

Màu RGBA: với việc xuất hiện nhu cầu ghép ảnh, việc thêm vào 8 bit dư

cho độ trong suốt tạo thành màu 32 bit với một kênh mới là Alpha, biểu diễn

độ trong suốt của điểm ảnh

Ảnh xám hay còn gọi là ảnh đơn sắc (monochromatic). Mức xám của ảnh

là kết quả của sự biến đổi tương ứng 1 giá trị độ sáng của 1 điểm ảnh với 1 giá

trị nguyên dương. Thông thường nó xác định trong [0, 255] tuỳ thuộc vào giá

trị mà mỗi điểm ảnh được biểu diễn. Các thang giá trị mức xám thông thường:

16, 32, 64, 128, 256 (mức 256 là mức phổ dụng).

Ảnh nhị phân là ảnh số, trong đó mỗi điểm ảnh được biểu diễn bởi giá trị

là 0 (trắng) hoặc 1 (đen). Ảnh nhị phân được tạo ra bằng cách biến đổi ảnh xám

dựa vào một ngưỡng xác định.

1.3.2. Nắn chỉnh biến dạng

Ảnh thu nhận thường bị biến dạng do các thiết bị quang học và điện tử.

Hình 1.2. Ảnh thu nhận và ảnh mong muốn

Để khắc phục người ta sử dụng các phép chiếu, các phép chiếu thường

được xây dựng trên tập các điểm điều khiển.

6

Giả sử (Pi, Pi’) i = 1,.., n: có n các tập điều khiển

Tìm hàm f: Pi f (Pi) sao cho

𝑛 ∑ |𝑓(𝑃𝑖) − 𝑃𝑖′|2 𝑖=1

→ 𝑚𝑖𝑛

Giả sử ảnh I bị biến đổi thông qua các phép biến đổi: Tịnh tiến, quay, tỷ

lệ, biến dạng bậc nhất tuyến tính. Khi đó hàm f có dạng:

f (x, y) = (a1x + b1y + c1, a2x + b2y + c2)

𝑛

𝑛

𝜑 = ∑(

′)2]

𝑓(𝑃𝑖) − 𝑃𝑖′)2 = ∑[(

𝑎1𝑥𝑖 + 𝑏1𝑦𝑖 + 𝑐1 − 𝑥𝑖

′ )2 + (𝑎2𝑥𝑖 + 𝑏2𝑦𝑖 + 𝑐2 − 𝑦𝑖

𝑖=1

𝑖=1

Ta có:

Để cho φ → min

Giải hệ phương trình tuyến tính tìm được a1, b1, c1

Tương tự tìm được a2, b2, c2

Từ đó, ta xác định được hàm f [1].

1.3.3. Khử nhiễu

Có 2 loại nhiễu cơ bản trong quá trình thu nhận ảnh

• Nhiều hệ thống: là nhiễu có quy luật có thể khử bằng các phép biến đổi.

• Nhiễu ngẫu nhiên: vết bẩn không rõ nguyên nhân, có thể khắc phục bằng

các phép lọc.

7

1.3.4. Chỉnh mức xám

Nhằm khắc phục tính không đồng đều của hệ thống gây ra. Thông thường

có 2 hướng tiếp cận:

• Giảm số mức xám: Thực hiện bằng cách nhóm các mức xám gần nhau

thành một bó. Trường hợp chỉ có 2 mức xám thì chính là chuyển về ảnh đen

trắng, ứng dụng: in ảnh màu ra máy in đen trắng.

• Tăng số mức xám: Thực hiện nội suy ra các mức xám trung gian bằng

kỹ thuật nội suy. Kỹ thuật này nhằm tăng cường độ mịn cho ảnh

1.3.5. Trích chọn đặc điểm

Các đặc điểm của đối tượng được trích chọn tuỳ theo mục đích nhận dạng

trong quá trình xử lý ảnh. Có thể nêu ra một số đặc điểm của ảnh sau đây:

Đặc điểm không gian: Phân bố mức xám, phân bố xác suất, biên độ, điểm

uốn v.v..

Đặc điểm biến đổi: Các đặc điểm loại này được trích chọn bằng việc thực

hiện lọc vùng (zonal filtering). Các bộ vùng được gọi là “mặt nạ đặc 10 điểm”

(feature mask) thường là các khe hẹp với hình dạng khác nhau (chữ nhật, tam

giác, cung tròn v.v..).

Đặc điểm biên và đường biên: Là đặc trưng cho đường biên của đối

tượng và do vậy rất hữu ích trong việc trích trọn các thuộc tính bất biến được

dùng khi nhận dạng đối tượng. Các đặc điểm này có thể được trích chọn nhờ

toán tử gradient, toán tử la bàn, toán tử Laplace, toán tử “chéo không” (zero

crossing) v.v..

Việc trích chọn hiệu quả các đặc điểm giúp cho việc nhận dạng các

đối tượng ảnh chính xác, với tốc độ tính toán cao và dung lượng nhớ lưu

trữ giảm xuống.

8

1.3.6. Nhận dạng

Nhận dạng tự động (automatic recognition), mô tả đối tượng, phân loại

và phân nhóm các mẫu là những vấn đề quan trọng trong thị giác máy, được

ứng dụng trong nhiều ngành khoa học khác nhau. Tuy nhiên, một câu hỏi đặt

ra là: mẫu (pattern) là gì? Watanabe, một trong những người đi đầu trong lĩnh

vực này đã định nghĩa: “Ngược lại với hỗn loạn (chaos), mẫu là một thực thể

(entity), được xác định một cách mơ hồ (vaguely defined) và có thể gán cho nó

một tên gọi nào đó”. Ví dụ mẫu có thể là ảnh của vân tay, ảnh của một vật nào đó

được chụp, một chữ viết, khuôn mặt người hoặc một ký đồ tín hiệu tiếng nói. Khi

biết một mẫu nào đó, để nhận dạng hoặc phân loại mẫu đó có thể:

Hoặc phân loại có mẫu (supervised classification), chẳng hạn phân tích

phân biệt (discriminant analyis), trong đó mẫu đầu vào được định danh như một

thành phần của một lớp đã xác định.

Hoặc phân loại không có mẫu (unsupervised classification hay clustering)

trong đó các mẫu được gán vào các lớp khác nhau dựa trên một tiêu chuẩn đồng

dạng nào đó. Các lớp này cho đến thời điểm phân loại vẫn chưa biết hay chưa

được định danh. Hệ thống nhận dạng tự động bao gồm ba khâu tương ứng với

ba giai đoạn chủ yếu sau đây:

1. Thu nhận dữ liệu và tiền xử lý.

2. Biểu diễn dữ liệu.

3. Nhận dạng, ra quyết định.

Bốn cách tiếp cận khác nhau trong lý thuyết nhận dạng là:

1. Đối sánh mẫu dựa trên các đặc trưng được trích chọn.

2. Phân loại thống kê.

3. Đối sánh cấu trúc.

4. Phân loại dựa trên mạng nơ-ron nhân tạo.

Trong các ứng dụng rõ ràng là không thể chỉ dùng có một cách tiếp cận

đơn lẻ để phân loại “tối ưu” do vậy cần sử dụng cùng một lúc nhiều phương

9

pháp và cách tiếp cận khác nhau. Do vậy, các phương thức phân loại tổ hợp hay

được sử dụng khi nhận dạng và nay đã có những kết quả có triển vọng dựa trên

thiết kế các hệ thống lai (hybrid system) bao gồm nhiều mô hình kết hợp.

Việc giải quyết bài toán nhận dạng trong những ứng dụng mới, nảy sinh

trong cuộc sống không chỉ tạo ra những thách thức về thuật giải, mà còn đặt ra

những yêu cầu về tốc độ tính toán. Đặc điểm chung của tất cả những ứng dụng đó

là những đặc điểm đặc trưng cần thiết thường là nhiều, không thể do chuyên gia

đề xuất, mà phải được trích chọn dựa trên các thủ tục phân tích dữ liệu.

1.3.7. Nén ảnh

Nhằm giảm thiểu không gian lưu trữ. Thường được tiến hành theo cả hai

cách khuynh hướng là nén có bảo toàn và không bảo toàn thông tin. Nén không

bảo toàn thì thường có khả năng nén cao hơn nhưng khả năng phục hồi thì kém

hơn. Trên cơ sở hai khuynh hướng, có 4 cách tiếp cận cơ bản trong nén ảnh:

- Nén ảnh thống kê: Kỹ thuật nén này dựa vào việc thống kê tần xuất xuất

hiện của giá trị các điểm ảnh, trên cơ sở đó mà có chiến lược mã hóa thích hợp.

Một ví dụ điển hình cho kỹ thuật mã hóa này là *.TIF

- Nén ảnh không gian: Kỹ thuật này dựa vào vị trí không gian của các

điểm ảnh để tiến hành mã hóa. Kỹ thuật lợi dụng sự giống nhau của các điểm

ảnh trong các vùng gần nhau. Ví dụ cho kỹ thuật này là mã nén *.PCX

- Nén ảnh sử dụng phép biến đổi: Đây là kỹ thuật tiếp cận theo hướng nén

không bảo toàn và do vậy, kỹ thuật thướng nến hiệu quả hơn. *.JPG chính là

tiếp cận theo kỹ thuật nén này.

- Nén ảnh Fractal: Sử dụng tính chất Fractal của các đối tượng ảnh, thể

hiện sự lặp lại của các chi tiết. Kỹ thuật nén sẽ tính toán để chỉ cần lưu trữ phần

gốc ảnh và quy luật sinh ra ảnh theo nguyên lý Fractal.

10

1.4. Thu nhận và biểu diễn ảnh

1.4.1. Thu nhận, các thiết bị thu nhận ảnh

Các thiết bị thu nhận ảnh bao gồm camera, scanner các thiết bị thu nhận

này có thể cho ảnh đen trắng. Các thiết bị thu nhận ảnh có 2 loại chính ứng với

2 loại ảnh thông dụng là Raster và Vector.

Các thiết bị thu nhận ảnh thông thường Raster là camera các thiết bị thu

nhận ảnh thông thường Vector là sensor hoặc bàn số hoá Digitalizer hoặc được

chuyển đổi từ ảnh Raster.

Nhìn chung các hệ thống thu nhận ảnh thực hiện quá trình hai bước: Cảm

biến: biến đổi năng lượng quang học thành năng lượng điện; Tổng hợp năng

lượng điện thành ảnh.

1.4.2. Biểu diễn ảnh

Ảnh trên máy tính là kết quả thu nhận theo các phương pháp số hoá được

nhúng trong các thiết bị kỹ thuật khác nhau. Quá trình lưu trữ ảnh nhằm hai

mục đích là tiết kiệm bộ nhớ và giảm thời gian xử lý.

Việc lưu trữ thông tin trong bộ nhớ có ảnh hưởng rất lớn đến việc hiển

thị, in ấn và xử lý ảnh được xem như là một tập hợp các điểm với cùng kích

thước nếu sử dụng càng nhiều điểm ảnh thì bức ảnh càng đẹp, càng mịn và

càng thể hiện rõ hơn chi tiết của ảnh người ta gọi đặc điểm này là độ phân

giải.

Việc lựa chọn độ phân giải thích hợp tuỳ thuộc vào nhu cầu sử dụng và

đặc trưng của mỗi ảnh cụ thể, trên cơ sở đó các ảnh thường được biểu diễn theo

hai mô hình cơ bản là mô hình Raster và mô hình Vector.

1.5. Một số phương pháp nâng cao chất lượng ảnh

Nâng cao chất lượng ảnh bao gồm một loạt các phương pháp nhằm hoàn

thiện trạng thái quan sát của ảnh. Nhiệm vụ của thao tác này không phải là làm

tăng lượng thông tin vốn có trong ảnh mà làm nổi bật các đặc trưng mong muốn

11

sao cho có thể phát hiện tốt hơn, tạo thành quá trình tiền xử lý cho phân tích

ảnh [1]

Có nhiều phương pháp khác nhau trong nâng cao chất lượng ảnh như:

- Các phương pháp trên điểm: Biến đổi tuyến tính từng đoạn, biến đổi

logarithm, biến đổi âm bản. Phương pháp này thích hợp cho việc tăng cường

các chi tiết của ảnh.

- Cân bằng, biến đổi biểu đồ Histogram: biểu đồ Histogram của một ảnh

là biểu đồ mô tả sự phân bố của các giá trị mức xám của các điểm ảnh (Pixel)

trong một bức ảnh hoặc một vùng ảnh (Region). Dựa vào biều đồ Histogram

có thể biết được hình ảnh sáng tối như thế nào. Cân bằng Histogram (Histogram

equalization) là phương pháp làm cho biểu đồ Histogram của ảnh được phân

bố một cách đồng đều. Đây là một cách giúp nâng cao chất lượng hình ảnh.

- Các phép toán trên miền không gian: Lọc nhiễu, bù nghiêng, giảm

mờ.Có nhiều thuật toán nâng cao chất lượng ảnh thuộc nhóm này như: Giảm

nhiễu (nhiễu Gauss,nhiễu muối tiêu, nhiễu lốm đốm), lọc mờ (thuật toán Lucy-

Richardson, thuật toán Blind Deconvolution, lọc Wiener), bù nghiêng (dùng

biếnđổi Hough, dùng phương pháp láng giềng gần nhất, sử dụng chiếunghiêng).

Trong đề tài luận văn này, chúng tôi sử dụng các phép toán hình thái

trong nâng cao chất lượng ảnh. Chi tiết về các kỹ thuật liên quan sẽ được trình

bày ở phần sau.

1.6. Các 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ể

12

nhận dạng được loại cây đó là cây gì; 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.

13

CHƯƠNG 2

MỘT SỐ TÍNH CHẤT NỘI SUY CỦA PHÉP TOÁN HÌNH THÁI HỌC

Chương này trình bày về một số tính chất nội suy của phép toán hình

thái học trên nhiều cấu trúc ảnh và định dạng ảnh khác nhau, được thực hiện

trong điều kiện không gian khác nhau.

2.1. Các phép toán hình thái học

2.1.1. Các phép toán hình thái học trên ảnh nhị phân

* Phép giãn nở trên ảnh nhị phân

𝑨 ⊕ 𝑩 = {𝒄 | 𝒄 = 𝒂 + 𝒃, 𝒂 ∈ 𝑨, 𝒃 ∈ 𝑩

Công thức:

(2.1)

Trong đó:

- A: Là ma trận điểm ảnh của ảnh nhị phân.

- B: Là phần tử cấu trúc.

Phép giãn nở (Dilation) ảnh sẽ cho ra một tập điểm ảnh c thuộc D(i), bạn

hoàn toàn dễ dàng thấy rằng đây là một phép tổng giữa A và B.A sẽ là tập con

của D(i). Chú ý: Nhận xét này không hoàn toàn đúng với trường hợp phần tử

cấu trúc B không có gốc (Origin) hay nói cách khác là gốc mang giá trị 0.

Ví dụ

𝐁 = [ 𝐈𝐬𝐫𝐜= ] 𝐈𝐝𝐬𝐭= 𝟏 𝟎 𝟏 𝟏

 Ma trận điểm ảnh Isrc, ma trận điểm ảnh sau phép giãn nở Idst và phần tử

[ [ 𝟎 𝟎 𝟎 𝟎 𝟎 𝟎 𝟎 𝟎 𝟎 𝟏 𝟎 𝟎 𝟎 𝟎 𝟎 𝟏 𝟏 𝟏 𝟏 𝟏 𝟎 𝟎 𝟎 𝟏 𝟏 𝟏 𝟏 𝟎 𝟎 𝟎 𝟏 𝟎 𝟏 𝟎 𝟎 𝟎 𝟏 𝟏 𝟏 𝟏 𝟏 𝟎 𝟎 𝟎 𝟎 𝟎 𝟎 𝟎 𝟎] 𝟎 𝟎 𝟏 𝟎 𝟎 𝟎 𝟎 𝟎 𝟏 𝟏 𝟏 𝟏 𝟏 𝟎 𝟎 𝟏 𝟏 𝟏 𝟏 𝟏 𝟏 𝟎 𝟎 𝟏 𝟏 𝟏 𝟏 𝟏 𝟎 𝟏 𝟏 𝟏 𝟏 𝟏 𝟎 𝟎 𝟏 𝟏 𝟏 𝟏 𝟏 𝟏 𝟎 𝟎 𝟎 𝟎 𝟎 𝟎 𝟎]

cấu trúc B.

 Ứng với công thức ở trên, ta lần lượt đặt phần tử cấu trúc vào các điểm

14

ảnh có giá trị 1 của ma trận điểm ảnh Isrc. Kết quả thu được là ma trận điểm ảnh

Idst.

 Ta có ở ma trận điểm ảnh Isrc = {(1, 2), (2,1), (2, 2), (2, 3), (2, 4), (2,

Tính toán

5), (3, 2), (3, 3), (3, 4), (3, 5), (4, 2), (4, 4), (5, 1), (5, 2), (5, 3), (5, 4), (5,

 Ta có ở ma trận phần tử cấu trúc B = {(0,0), (-1, 0), (0, 1)} với (0,0) là

5)}.

 Áp dụng công thức phép giãn nở ta có: Isrc(0,0) ={(1, 2), (2,1), (2, 2), (2,

điểmgốc.

3), (2, 4), (2, 5), (3, 2), (3, 3), (3, 4), (3, 5), (4, 2), (4, 4), (5, 1), (5, 2), (5,

3), (5, 4), (5, 5)}.

Isrc(-1,0) ={(0, 2), (1,1), (1, 2), (1, 3), (1, 4), (1, 5), (2, 2), (2, 3), (2, 4), (2,

5), (3, 2), (3, 4), (4, 1), (4, 2), (4, 3), (4, 4), (4, 5)}

Isrc(0, 1) ={(1, 3), (2,2), (2, 3), (2, 4), (2, 5), (2, 6), (3, 3), (3, 4), (3, 5), (3,

 Phép giãn nở của Isrc bởi B là hợp của Isrc(0,0), Isrc(-1,0) và Isrc(0,1) hay là Idst.

6), (4, 3), (4, 5), (5, 3), (5, 3), (5, 4), (5, 5), (5, 6)}

Với phần tử cấu trúc không có điểm gốc (Origin), cách tính toán cũng

tương tự.

* Phép co trên ảnh nhị phân

𝑨 ⊖ 𝑩 = {𝒄 |(𝑩)c ⊆ A}

Công thức

(2.2)

 A: Ma trận điểm ảnh của ảnh nhị phân.

 B: Là phần tử cấu trúc.

Trong đó:

Phép co ảnh sẽ cho ra một tập điểm ảnh c thuộc A, nếu bạn đi chuyển phần

tử cấu trúc B theo C, thì B nằm trong đối tượng A. E(i) là một tập con của tập

15

ảnh bị co A. Chú ý: Nhận xét này không hoàn toàn đúng với trường hợp phần

tử cấu trúc B không có gốc (Origin) hay nói cách khác là gốc mang giá trị 0.

𝐁 = [

𝐈𝐬𝐫𝐜=

] 𝐈𝐝𝐬𝐭=

𝟏 𝟎 𝟏 𝟏

[

[

𝟎 𝟎 𝟎 𝟎 𝟎 𝟎 𝟎 𝟎 𝟎 𝟏 𝟎 𝟎 𝟎 𝟎 𝟎 𝟏 𝟏 𝟏 𝟏 𝟏 𝟎 𝟎 𝟎 𝟏 𝟏 𝟏 𝟏 𝟎 𝟎 𝟎 𝟏 𝟎 𝟏 𝟎 𝟎 𝟎 𝟏 𝟏 𝟏 𝟏 𝟏 𝟎 𝟎 𝟎 𝟎 𝟎 𝟎 𝟎 𝟎]

𝟎 𝟎 𝟎 𝟎 𝟎 𝟎 𝟎 𝟎 𝟎 𝟎 𝟎 𝟎 𝟎 𝟎 𝟎 𝟎 𝟏 𝟎 𝟎 𝟎 𝟎 𝟎 𝟎 𝟏 𝟏 𝟏 𝟎 𝟎 𝟎 𝟎 𝟎 𝟎 𝟎 𝟎 𝟎 𝟎 𝟎 𝟏 𝟎 𝟏 𝟎 𝟎 𝟎 𝟎 𝟎 𝟎 𝟎 𝟎 𝟎]

 Ta có ma trận điểm ảnh Isrc, ma trận điểm ảnh sau phép co Idst và cấu

Ví dụ:

 Ứng với công thức ở trên, ta lần lượt đặt phần tử cấu trúc vào các điểm

trúc phần tử B.

ảnh có giá trị 1 của ma trận điểm ảnh Isrc. Kết quả thu được là ma trận điểm ảnh

Idst.

 Ta có ở ma trận điểm ảnh Isrc = {(1, 2), (2,1), (2, 2), (2, 3), (2, 4), (2,

Tính toán

 Ta có ở ma trận phần tử cấu trúc B = {(0,0), (-1, 0), (0, 1)} với (0,0) là

5), (3, 2), (3, 3), (3, 4), (3, 5), (4, 2), (4, 4), (5, 1), (5, 2), (5, 3), (5, 4), (5, 5)}.

 Ở đây, ta không quan tâm tới toàn bộ các điểm đen (mang giá trị 1) ở Isrc,

điểm gốc.

ta chỉ quan tâm tới đến những tọa độ của những điểm đen của Isrc khi mà ta di

chuyển phần tử cấu trúc trên đối tượng ảnh Isrc thì gốc của B trùng với một điểm

ảnh và các điểm lân cận mang giá trị 1 của phần tử cấu trúc B trùng với điểm

đen (Mang giá trị 1) của Isrc theo phần tử cấu trúc B. Ví dụ ở đây ta có 6 điểm

đen (Mang giá trị 1) trên Isrc phù hợp với điều kiện trên: Isrc(2, 2), Isrc(3, 2), Isrc(3,

3), Isrc(3, 4), Isrc(5, 2), Isrc(2, 4).

Isrc(2,1) = Isrc(2,2) = 1 & Isrc(1,1) = 0. Vậy nên Isrc(2,1) không thỏa với

cấu trúc phần tử. Nên Isrc(2,1) = 0.

Isrc(2,2) = Isrc(1,2) = Isrc(2,3) = 1. Vậy nên Isrc(2,2) thỏa với cấu trúc phần

tử B. Nên Isrc(3,3) = 1.

16

Với phần tử cấu trúc không có điểm gốc (Origin), cách tính toán cũng

tương tự.

2.1.2. Các phép toán hình thái học trên ảnh xám

* Phép giãn nở trên ảnh đa mức xám

𝑫(𝒊) = (𝑨 ⊕ 𝑩)(𝒙, 𝒚) = 𝒎𝒂𝒙(𝑨(𝒙 + 𝒊, 𝒚 + 𝒊) + 𝑩(𝒊, 𝒋)| (𝒊, 𝒋) ∈ 𝑫B)

Công thức

(2.3)

 A: Ma trận điểm ảnh của ảnh xám.

 B: Là phần tử cấu trúc.

 DB: Là không gian ảnh của phần tử cấu trúc không phẳng B.

Trong đó

Ví dụ

]

0 10 0 [ 10 10 10 0 10 0

Phần tử cấu trúc B

[

[

[

[

𝟎 𝟎 𝟏 𝟎 𝟎 𝟎 𝟎 𝟏 𝟎 𝟎 𝟏 𝟏 𝟏 𝟏 𝟏 𝟎 𝟎 𝟏 𝟎 𝟎 𝟎 𝟎 𝟏 𝟎 𝟎]

𝟎 𝟎 𝟎 𝟎 𝟎 𝟎 𝟏 𝟏 𝟏 𝟎 𝟎 𝟏 𝟏 𝟏 𝟎 𝟎 𝟏 𝟏 𝟏 𝟎 𝟎 𝟎 𝟎 𝟎 𝟎]

𝟎 𝟎 𝟏 𝟎 𝟎 𝟎 𝟏 𝟏 𝟏 𝟎 𝟏 𝟏 𝟏 𝟏 𝟏 𝟎 𝟏 𝟏 𝟏 𝟎 𝟎 𝟎 𝟏 𝟎 𝟎]

𝟎 𝟎 𝟎 𝟎 𝟎 𝟎 𝟎 𝟎 𝟎 𝟎 𝟏 𝟏 𝟎 𝟏 𝟏 𝟎 𝟎 𝟎 𝟎 𝟎 𝟎 𝟎 𝟎 𝟎 𝟎]

Ta có một ma trận ảnh đa mức xám Isrc

Các thành phần với một phần tử cấu trúc

1. Kích thước của ma trận phần tử cấu trúc.

2. Hình dáng của phần tử cấu trúc.

3. Gốc của phần tử (Ogirin). Thông thường thì gốc của phần tử mang giá

trị 1 nhưng trong một số trường hợp thì gốc phần tử mang giá trị 0 (Phần tử cấu

trúc không có gốc).

Trong các phép toán hình thái học, một phần tử cấu trúc có kích

thước (NxN) được di chuyển khắp ảnh và thực hiện phép tính toán với từng

17

điểm ảnh (Pixel) của ảnh với (N2 -1) điểm ảnh (Pixel) lân cận (Không tính điểm

ở tâm). Phép tính toán ở đây tùy thuộc vào nội dung của phép toán hình thái

 Nếu gốc của phần tử cấu trúc (Ogirin) nằm ở phía bên trái thì ảnh sẽ có

học mà từ đó cho ra một kết quả phù hợp:

 Nếu gốc của phần tử cấu trúc (Ogirin) nằm ở phía bên phải thì ảnh sẽ có

xu hướng co và giãn nở về phía bên phải.

xu hướng co và giãn về nở phía bên trái.

Vì vậy: Trong các kết quả của phép toán xử lý hình thái học thì yếu tố

quan trọng là phần tử cấu trúc.

Chú ý: Những nội dung kiến thức trên đây là phần tử cấu trúc dùng trong

các phép toán hình thái học trên ảnh nhị phân. Với ảnh đa mức xám thì phần tử

cấu trúc tương tự nhưng khác ở chỗ là các giá trị phần tử từ 0 đến 255 chứ

[

]

0 0 10 10 10 10 0 10 0

không phải là chỉ 0 với 1 như phần tử cấu trúc trên ảnh nhị phân.

Phép toán giãn nở

Là một trong các hoạt động cơ bản trong hình thái toán học. Phép toàn

này có tác dụng làm cho đối tượng ban đầu trong ảnh tăng lên về kích thước

(Giãn nở ra).

Phép giãn nở trên ảnh nhị phân

𝑨 ⊕ 𝑩 = {𝒄 | 𝒄 = 𝒂 + 𝒃, 𝒂 ∈ 𝑨, 𝒃 ∈ 𝑩}

Công thức

(2.4)

 A: Ma trận điểm ảnh của ảnh nhị phân.

 B: Là phần tử cấu trúc.

Trong đó:

Phép giãn nở (Dilation) ảnh sẽ cho ra một tập điểm ảnh c thuộc D(i), bạn

hoàn toàn dễ dàng thấy rằng đây là một phép tổng giữa A và B.A sẽ là tập con

của D(i). Chú ý: Nhận xét này không toàn toàn đúng với trường hợp phần tử

18

cấu trúc B không có gốc (Origin) hay nói cách khác là gốc (Origin) mang giá

trị 0.

 Ta có ma trận điểm ảnh Isrc, ma trận điểm ảnh sau phép giãn nở Idst và

Ví dụ

 Ứng với công thức ở trên, ta lần lượt đặt phần tử cấu trúc vào các điểm

phần tử cấu trúc B.

ảnh có giá trị 1 của ma trận điểm ảnh Isrc. Kết quả thu được là ma trận điểm ảnh

𝐁 = [

𝐈𝐬𝐫𝐜=

] 𝐈𝐝𝐬𝐭=

𝟏 𝟎 𝟏 𝟏

[

[

𝟎 𝟎 𝟎 𝟎 𝟎 𝟎 𝟎 𝟎 𝟎 𝟏 𝟎 𝟎 𝟎 𝟎 𝟎 𝟏 𝟏 𝟏 𝟏 𝟏 𝟎 𝟎 𝟎 𝟏 𝟏 𝟏 𝟏 𝟎 𝟎 𝟎 𝟏 𝟎 𝟏 𝟎 𝟎 𝟎 𝟏 𝟏 𝟏 𝟏 𝟏 𝟎 𝟎 𝟎 𝟎 𝟎 𝟎 𝟎 𝟎]

𝟎 𝟎 𝟏 𝟎 𝟎 𝟎 𝟎 𝟎 𝟏 𝟏 𝟏 𝟏 𝟏 𝟎 𝟎 𝟏 𝟏 𝟏 𝟏 𝟏 𝟏 𝟎 𝟎 𝟏 𝟏 𝟏 𝟏 𝟏 𝟎 𝟏 𝟏 𝟏 𝟏 𝟏 𝟎 𝟎 𝟏 𝟏 𝟎 𝟏 𝟏 𝟏 𝟎 𝟎 𝟎 𝟎 𝟎 𝟎 𝟎]

Idst.

 Ta có ở ma trận điểm ảnh Isrc = {(1, 2), (2,1), (2, 2), (2, 3), (2, 4),

Tính toán

(2, 5), (3, 2), (3, 3), (3, 4), (3, 5), (4, 2), (4, 4), (5, 1), (5, 2), (5, 3),

 Ta có ở ma trận phần tử cấu trúc B = {(0,0), (-1, 0), (0, 1)} với (0,0) là

(5, 4), (5, 5)}.

 Áp dụng công thức phép giãn nở ta có:Isrc(0,0) ={(1, 2), (2,1), (2, 2),

điểm gốc.

(2, 3), (2, 4), (2, 5), (3, 2), (3, 3), (3,4),(3, 5), (4, 2), (4, 4), (5, 1),(5, 2),

 Isrc(-1,0) ={(0, 2), (1,1), (1, 2), (1, 3), (1, 4), (1, 5), (2, 2), (2, 3),

(5, 3), (5, 4), (5,5)}.

(2, 4), (2, 5), (3, 2), (3, 4), (4, 1),(4, 2), (4, 3), (4, 4), (4, 5)}.

Isrc(0, 1) ={(1, 3), (2,2), (2, 3), (2, 4), (2, 5), (2, 6), (3, 3), (3, 4),

 Phép giãn nở của Isrc bởi B là hợp của Isrc(0,0), Isrc(-1,0) và Isrc(0,1) hay là Idst.

(3, 5), (3, 6), (4, 3), (4, 5), (5, 3),(5, 3), (5, 4), (5, 5), (5, 6)}

Với phần tử cấu trúc không có điểm gốc (Origin), cách tính toán cũng tương

tự.

19

*Phép giãn nở trên ảnh đa mức xám

𝐃(𝐢) = (𝐀 ⊕ 𝐁)(𝐱, 𝐲) = 𝐦𝐚𝐱(𝑨(𝒙 + 𝒊, 𝒚 + 𝒊) + 𝑩(𝒊, 𝒋)| (𝒊, 𝒋) ∈ 𝐃B) (2.5)

Công thức

 A: Ma trận điểm ảnh của ảnh xám.

 B: Là phần tử cấu trúc.

 DB: Là không gian ảnh của phần tử cấu trúc không phẳng B.

Trong đó

Ví dụ

[

]

0 0 10 10 10 10 0 10 0

Phần tử cấu trúc B (Structuring element):

𝟎 𝟎 𝟎

𝐈𝐝𝐬𝐭=

[

𝟎 𝟎 𝟎 𝟎 𝟎 𝟎 𝟎 𝟎 𝟎 𝟎 𝟎 𝟎 𝟎 𝟎 𝟎 𝟏𝟎 𝟎 𝟎 𝟎 𝟎 𝟎 𝟓𝟎 𝟕𝟎 𝟎 𝟎 𝟎 𝟎 𝟎 𝟎 𝟎 𝟎 𝟎 𝟎 𝟎 𝟎 𝟎 𝟎 𝟎 𝟎 𝟏𝟐 𝟎 𝟎 𝟎 𝟎 𝟎 𝟎 𝟎 𝟎 𝟎 𝟎 𝟎 𝟎 𝟎 𝟎 𝟏𝟐 𝟎 𝟎 𝟎 𝟎 𝟎 𝟎

𝟎 𝟎 𝟎 𝟎 𝟎 𝟎

𝟎 𝟎 𝟎 𝟐𝟒 𝟎 𝟎 𝟎 𝟎 𝟎 𝟎 𝟎 𝟎 𝟎 𝟎 𝟎 𝟎 𝟎 𝟎 𝟎 𝟎 𝟎 𝟎 𝟎 𝟎 𝟎 𝟎 𝟎 𝟎 𝟎] 𝟎

Ta có một ma trận ảnh đa mức xám Isrc (Image grayscale):

Tính toán

1. Tại ô vuông khoanh lại ta có 3 giá trị Isrc(2,2) = 10, Isrc(3,2) = 50

và Isrc(3,3) = 70.

2. Áp dụng công thức cho từng giá trị được liệt kê ở bước 1.

Isrc(2,2) = Isrc(1,2) = Isrc(3,2) = Isrc(1,2) = Isrc(3,2) = 10 + 10 = 20.

Isrc(3,2) = Isrc(3,1) = Isrc(3,3) = Isrc(2,2) = Isrc(4,2) = 50 + 10 = 60.

Isrc(3,3) = Isrc(3,4) = Isrc(3,2) = Isrc(2,3) = Isrc(4,3) = 70 + 10 = 80.

3. Có thể dễ dàng thấy rằng có một số điểm ảnh Isrc trong tính toán ở trên

có giá trị khác nhau. Với các điểm ảnh đó, lúc này ta chỉ việc lấy giá trị lớn nhất

(Max) mà ta có được. Isrc(2,2) = 60, Isrc(2,3) = 80, Isrc(3,2) = 80, Isrc(3,3) = 80.

20

4. Tương tự với các điểm ảnh còn lại, ta tính toán ra được kết quả giãn nở

của ảnh đa mức xám Isrc thành Idst như sau:

𝟎 𝟑𝟒

𝟎 𝟎 𝟎 𝟐𝟎

𝐈𝐝𝐬𝐭=

𝟎 𝟎 𝟎

[ 𝟎 𝟎 𝟎 𝟎 𝟎 𝟎 𝟎 𝟎 𝟐𝟎 𝟔𝟎 𝟖𝟎 𝟎 𝟔𝟎 𝟖𝟎 𝟖𝟎 𝟖𝟎 𝟔𝟎 𝟖𝟎 𝟎 𝟎 𝟎 𝟎 𝟎 𝟎 𝟎 𝟎 𝟎 𝟐𝟐 𝟎 𝟎 𝟐𝟐 𝟐𝟐 𝟐𝟐 𝟎 𝟎 𝟎 𝟎 𝟎 𝟎 𝟐𝟐 𝟎 𝟎 𝟎 𝟎 𝟎 𝟎 𝟑𝟒 𝟑𝟒 𝟑𝟒 𝟎 𝟎 𝟑𝟒 𝟎 𝟎 𝟎 𝟎 𝟎 𝟎 𝟎 𝟎 𝟎 𝟎 𝟎 𝟎 𝟎 𝟐𝟐 𝟎 𝟎 𝟐𝟐 𝟐𝟐 𝟐𝟐 𝟎 𝟎 𝟐𝟐 𝟎 𝟎 𝟎 𝟎 𝟎 𝟎] 𝟎 𝟎 𝟎 𝟎 𝟎 𝟎 𝟎 𝟎 𝟎 𝟎 𝟎

* Phép giãn nở trên ảnh đa mức xám(Grayscale erosion)

𝐄(𝐢) = (𝐀 ⊝ 𝐁)(𝐱, 𝐲) = 𝐦𝐢𝐧(𝑨(𝒙 + 𝒊), 𝒚 + 𝒊) − 𝐁(𝐢, 𝐣)|(𝐢, 𝐣) ∈ 𝐃B

Công thức

(2.6)

 A: Ma trận điểm ảnh của ảnh xám.

 B: Là phần tử cấu trúc.

 DB: Là không gian ảnh của phần tử cấu trúc không phẳng B.

Trong đó:

Ví dụ

Phần tử cấu trúc B (Structuring element).

]

0 10 0 [ 10 10 10 0 10 0

Ta có một ma trận ảnh đa mức xám Isrc (Image grayscale).

0 0 0 0 0 0 0 0 0 0 0 0 0 0 50 𝐈𝐝𝐬𝐭=

[ 0 0 0 0 0 90 0 0 0 0 30 50 20 0 0 0 0 0 50 0 0 0 0 0 90 0 0 0 0 0 0 0 0 0 0 0 0 10 60 70 0 60 90 0 0 0 30 80 75 0 0 0 0 0 55 0 0 0 0 25 90 25 0 0 0 0 ] 60 0 0 0 0 50 0 0 5 0 0 0 0 0 0 0 0 0 0

21

 Các điểm ảnh có trong ô Isrc (3,1) = 90, Isrc (4,2) = 50, Isrc (5,2) = 60,

Tính toán trong vùng ô vuông đỏ.

 Trừ(-) các giá trị ở trên cho 10 (Giá trị phần tử trong phần tử cấu trúc).

Isrc (5,3) = 70, Isrc (6,2) = 5, Isrc (5,1) = 10.

0 0 0 0 0 0 0 0 0 0

 Loại bỏ những điểm ảnh không tương ứng với hình dạng của phần tử cấu

[ 0 0 0 0 0 0 0 80 0 0 0 0 0 −5 0 0 0 0 0 0 0 0 0 0 0 0 0 80 0 0 0 20 40 10 0 0 0 0 40 0 0 0 0 0 0 0 0 0 0 0 0 40 0 0 0 0 0 50 60 0 50 80 0 0 0 20 70 65 0 0 45 0 15 80 15 0 0 ] 50 0 0 40 0 0 0 0 0 0 0 0 0

 Các giá trị còn lại vì tương ứng với hình dạng của phần tử cấu trúc (Hình

trúc. Ở đây giá trị Isrc (3,1) = 0.

chữ thập) nên ta giữa lại. Và lúc này điểm ảnh trung tâm chính là Isrc (4,2) = 50

tương ứng với gốc của phần tử cấu trúc (Origin).

0 0 0 0 0

0 0 0 0 0 0

 Với những giá trị còn lại sau khi ta loại bỏ những điểm ảnh không phù

[ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 40 0 0 0 50 60 0 0 0 −5 0 0 0 0 0 0 0 0 0 0 0 80 0 0 20 40 10 0 0 40 0 0 0 0 0 0 0 0 0 0 0 0 80 0 0 0 20 70 65 0 0 0 45 15 80 15 0 0 ] 50 0 0 40 0 0 0 0 0 0 0 0 0

hợp. Theo công thức thì ta cần phải thay điểm ảnh bằng giá trị nhỏ nhất trong

tập điểm ảnh đang xét và các điểm lân cận. Ở đây giá trị nhỏ nhất là Isrc (6,2) =

-5. Vì vậy, điểm ảnh tại Isrc (4,2) = 0. Cứ như vậy trên toàn ma trận ta có kết

quả của việc co ảnh Isrc chính là Idst.

22

𝐈𝐝𝐬𝐭=

[ 𝟎 𝟎 𝟎 𝟎 𝟎 𝟎 𝟎 𝟎 𝟎 𝟎 𝟎 𝟎 𝟎 𝟎 𝟎 𝟎 𝟎 𝟎 𝟎 𝟎 𝟎 𝟎 𝟎 𝟎 𝟎 𝟎 𝟎 𝟎 𝟎 𝟎 𝟎 𝟎 𝟎 𝟎 𝟎 𝟎 𝟎 𝟎 𝟎 𝟎 𝟎 𝟎 𝟎 𝟎 𝟎 𝟎 𝟎 𝟎 𝟐𝟎 𝟎 𝟎 𝟎 𝟎 𝟎 𝟎 𝟎 𝟎 𝟎 𝟎 𝟎 𝟎 𝟎 𝟎 𝟎 𝟎 𝟎 𝟎 𝟎 𝟎 𝟎 𝟎 𝟏𝟎 𝟎 𝟎 𝟎 𝟎 𝟎 𝟎 𝟎 𝟎 𝟎 𝟎 𝟎 𝟎 𝟎 𝟎 𝟎 𝟎 𝟎 𝟎 𝟎 𝟎 𝟎 𝟎 𝟎 𝟎 𝟏𝟓 𝟎 𝟎] 𝟎

2.1.3. Các phép toán hình thái họctrên ảnh màu

Dựa trên việc xây dựng toàn bộ thứ tự trong tập hợp các giá trị nhỏ nhất

(màu sắc) bằng cách sử dụnghàm f: R3 → R, vì vậy nó phù hợp với danh mục

với thứ tự giảm. Như trong các cách tiếp cận trước đây, hình thái màu được

biến đổi theo hình thái mức xám trong tập các giá trị của f nên tất cả các đặc

tính mong muốn được bảo toàn. Các phương pháp tiếp cận RO hiện tại nhằm

mục đích áp đặt thứ tự tổng thể chỉ dựa trên màu sắc chứ không phải trên hình

ảnh vì vậy họ cố gắng thiết lập thứ tự chuẩn cho tập hợp màu. Hơn nữa, chúng

phụ thuộc vào không gian màu sắc được lựa chọn.

Các phần phụ sau đây giải thích từng biến thể của phương pháp được đề

xuất là những cải tiến kế tiếp nhằm sửa chữa những nhược điểm của biến thể

trước đó. Về cơ bản, chúng dựa trên việc sử dụng biểu đồ của hình ảnh được

xử lý để có được thứ tự màu(công thức 2.7 trang 24), về cách sử dụng phiên

bản làm mịn của biểu đồ (công thức 2.8 trang 25), và cuối cùng là sử dụng biểu

đồ tổng hợp thu được từ một lớp các ảnh tương tự (công thức 2.9 trang 26).

2.1.3.1. Hình thái học dựa trên biểu đồ đồng bằng

Không giống như kết quả trước đây, hàm f ở đây được tính toán cho từng

hình ảnh và được điều chỉnh cho phù hợp với nó. Các vấn đề về chi phí tính

toán của việc này sẽ được giải quyết bằng cách làm việc trên các nhóm hình

23

ảnh tương tự. Vấn đề rõ ràng là làm thế nào để chọn một hàm tốt cho một hình

ảnh cho trước [4].

Ý tưởng đến từ hình thái học nhị phân: xói mòn nhằm mục đích làm giảm

các đối tượng thay thế các bộ phận.

Hình 2.1. Bản đồ a với sự xói mòn b, sự giãn nở c, sự mở rộng d,

và sự đóng lại của e với một đĩa bán kính 3điểm ảnh.

Phương pháp biểu đồ đơn giản của chúng theo nền. Điều ngược lại là

đúng với sự giãn nở. Nhưng thông thường, nền là vùng lớn nhất của hình ảnh.

Do đó, xác định nền là màu xuất hiện thường xuyên nhất trong một hình ảnh.

Đây sẽ là cái ít quan trọng hơn và sẽ bị chi phối bởi tất cả những cái khác. Nói

chung, một hình ảnh có màu càng ít thường xuyên thì càng chiếm ưu thế. Điều

này tương đương với việc tạo một biểu đồ màu của hình ảnh và gán giá trị cao

nhất của màu cho đỉnh nhỏ nhất, giá trị nhỏ hơn cho đỉnh tiếp theo. Nếu hai

màu có số điểm ảnh như nhau (điều này rất khó xảy ra trong hình ảnh thực),

thì một sự lựa chọn ngẫu nhiên được thực hiện. Về mặt hình thức, cho c

=(c1, c2, c3) một màu có ba thành phần trong bất kỳ không gian màu nào, mỗi

màu trong số chúng được lượng tử hóa trong khoảng số nguyên Q {0… q - 1}.

Màu biểu đồ của I là một hàm của Q × Q × Q → Z được định nghĩa là:

(2.7) hI (c) = #{x ∈ 𝑰 | 𝑰(𝒙) = 𝒄}

24

Mỗi ngăn của biểu đồ chỉ chứa một màu; biểu đồ này là một mảng đơn

giản không có tham chiếu đến không gian màu được sử dụng. Đối với việc gán

lại các giá trị f, thực tế các giá trị được chỉ định trên thực tế không liên quan, vì

các phép toán hình thái chỉ dựa vào thứ tự giữa các giá trị, chứ không phải bản

thân các giá trị. Một lựa chọn thích hợp là fI(x) = N – hI(c), trong đó N là số

điểm ảnh trong I và c = I(x). Hàm f là một ảnh được xác định tại bất kỳ điểm

nào trong đó được xác định và các giá trị của nó là số nguyên trong khoảng 0

… N.

Khi hình ảnh bổ trợ này đã được tạo với các giá trị thứ tự f-giá trị được

chỉ định đối với mỗi điểm ảnh, hình thái học có thể được thực hiện trên đó như

thể đó là một hình ảnh mức xám. Cuối cùng, màu sắc là lấy lại từ nhiệm vụ ban

đầu; ở đây không có sự nhập nhằng trong quá trình này vì hàm f là bất thường.

Ưu điểm chính của nó là không phụ thuộc vào không gian màu sử dụng để thể

hiện hình ảnh. Thật vậy, màu sắc được coi là nhãn đơn thuần.

Kết quả của phương pháp này có thể xem trong Hình 2.1 trang 23.

2.1.3.2. Hình thái học dựa trên biểu đồ làm mịn

Tiểu mục trước có một vấn đề rõ ràng: nó có thể hoạt động cực kỳ hiệu

quả tốt cho các hình ảnh có ít màu, như bản đồ, được tạo bởi các mảng phẳng

lớn giống hệt nhau tông màu nhưng nó sẽ không hoạt động như mong đợi trong

hình ảnh thực được tạo thành bằng cách phân loại liên tục tông màu và sắc thái.

Đối với những hình ảnh này, mỗi màu cụ thể xuất hiện quá thường xuyên do đó

không thích hợp để lấy tần suất của nó làm tiêu chuẩn quan trọng để đánh giá. Cái

này có thể được coi là một vấn đề thiếu hoặc không đủ mẫu trong hình ảnh 2D để

xây dựng một biểu đồ có ý nghĩa trong không gian màu 3D.

Giải pháp đầu tiên đề xuất ở đây là coi biểu đồ màu 3D là xác suất mật

độ của sự xuất hiện của các màu trong hình ảnh và làm mịn nó để mỗi màu phát

huy ảnh hưởng lên các màu lân cận. Bằng cách này, một màu duy nhất xuất

hiện dưới nhiều tông màu hoặc hình thái khác nhau sẽ được sắp xếp đối với các

25

màu phức tạp khác theo toàn bộ tầm quan trọng của nó. Sau đó, giải quyết vấn

đề này bằng cách thêm nhiều hình ảnh tương tự. Theo cách đó có một số lượng

mẫu lớn hơn. Hạt nhân làm mịn được chọn, giống với Hanbury, một chức năng

tương tự. Mỗi điểm ảnh của hình ảnh I = {p1….pn} được coi là một diện tích

đơn vị trong không gian màu, sẽ được lượng tử hóa như đã nêu trước đây, và

vì vậy nó là một khối lập phương của Q × Q × Q. Khả năng được tạo bởi điểm

i,c2

i,c3

i) bất cứ lúc nào cj = (c1

j,c2

j,c3

j) của không gian

ảnh pi bởi các màu ci = (c1

màu sẽ là:

(2.8) 𝑉𝑖𝑗 = {

1 𝑛ế𝑢 𝑟𝑖𝑗 = 0, 1 𝒹 𝑛ế𝑢 𝑟𝑖𝑗 ≠ 0, 𝑟𝑖𝑗

trong đó rij là khoảng cách thích hợp trong không gian màu đã chọn giữa các

điểm ci và cj và tham số làm mịn sao cho d ≥ 1, được chọn. Trong các thí

nghiệm, đã kiểm tra cho hai khoảng cách trong mỗi không gian màu: Euclidean

d ≤ 1.

và Mahalanobis. Lưu ý rằng, kể từ không gian màu Q × Q × Q được lượng tử

hóa lấy là khoảng cách nhỏ nhất giữa các điểm, rij ≥ 1 và như vậy 1 / rij

Khi tất cả vị trí được thay đổi, khả năng tại một điểm bất kỳ điểm có màu không

gian được tính là:

𝑁 𝑉𝑗 = ∑ 𝑉𝑖𝑗 𝑖=1

(2.9)

Một cách hợp lý để chọn tham số d là đặt một nhiệm vụ ở tâm của hình

khối 3-D có thể chấp nhận được hoặc hình dạng của không gian màu và tạo thế

năng của nó ở đường biên xa nhất chỉ bằng một lượng không đáng kể 1% thế

năng tại điện tích là 1. Đối với trường hợp của không gian R, G, B và L∗a∗b

được sử dụng đã được lượng tử hóa thành 100 phần trong mỗi thành phần và

như vậy một giá trị hợp lý cho d là 2. Khi đó các điểm trong không gian màu

được sắp xếp theo thứ tự tiềm năng V. Một vấn đề có thể xảy ra là ứng dụng

được xác định bởi tiềm năng này có thể không bị lỗi.

26

Giải pháp và một số nhận xét về việc thực hiện.

 Phương pháp này rõ ràng vẫn quy về kiểu sắp thứ tự.

 Sự phụ thuộc vào không gian màu đã được chứng minh.

Ở đây học viên đã được thử nghiệm với hai màu khoảng trắng: R, G, B và

L∗a∗b.

2.1.3.3. Hình thái học cho một loại hình ảnh tương tự

Điểm bất tiện rõ ràng của phương pháp cũ là cần phải tính V điều này rất

tốn kém về mặt tính toán cho mỗi hình ảnh. Giải pháp đã sử dụng là xây dựng

biểu đồ không phải cho một hình ảnh mà cho một tập hợp các hình tương tự,

tích lũy các điểm ảnh của chúng trong biểu đồ 3-D toàn cục, có trọng số thích

hợp. Trọng lượng của mỗi điểm ảnh là tỷ lệ nghịch tỷ lệ với số điểm ảnh của

hình ảnh mà nó thuộc về. Điều này được thực hiện để cung cấp cho mỗi hình

ảnh có ảnh hưởng như nhau độc lập với kích thước của nó. Tuy nhiên, trọng số

có thể thay đổi nếu người dùng có thêm thông tin về sự phân bố màu của từng

mẫu. Điều này giống như cố gắng ước tính sự phân bố màu sắc của một lớp,

dưới dạng hỗn hợp của những màu được ước tính mỗi hình ảnh trong lớp và

tăng độ chắc chắn vì nhiều mẫu được sử dụng hơn.

Quá trình tính toán điện thế V giống như trong trường hợp trước đây và

tạo ra 3-D mảng mà từ bây giờ trở đi gọi là khối lập phương của thế năng.

Ý tưởng đằng sau cách tiếp cận này là mỗi loại hình ảnh được đặc trưng

bởi tỷ lệ màu sắc khác nhau xuất hiện trong đó. Nếu điều này có thể được giả

định và đủ số lượng mẫu được lấy và cho kết quả phải tương tự như phương

pháp biểu đồ được làm mịn hơn [2].

2.2. Các tính chất nội suy của phép toán hình thái học

Bài toán nội suy ảnh có thể được phát biểu như sau: cho trước hai ảnh I0

(nguồn) và I1 (đích), hãy tìm dãy ảnh Zα; α  [0, 1] sao cho Z0 = I0 và Z1 = I1. Bài

27

toán nội suy hình ảnh yêu cầu câu trả lời phải “hấp dẫn, trực quan” về mặt hình

ảnh mà rất khó để mô tả một cách chặt chẽ [6].

Bài toán nội suy hình ảnh còn được gọi là hình ảnh biến hình được sử

dụng rộng rãi cho các hiệu ứng đặc biệt và hoạt ảnh. Trong công trình này, mục

đích là phân tích vấn đề từ góc độ viễn thám và khoa học địa lý và như được

mô tả, bản chất của các giải pháp rất khác với giải pháp biến đổi ảnh.

Một số ứng dụng có thể tồn tại cho một giải pháp như vậy. Đối với ví dụ,

một vệ tinh lập bản đồ bề mặt theo các khoảng thời gian đều đặn và người ta

có thể quan tâm đến việc hình dung các trạng thái trung gian.

Các giải pháp khác nhau cho vấn đề nội suy hình ảnh thông qua các toán

tử MM được đề xuất trong một số công trình. Một trong những mục đích của

bài viết này là cung cấp một đánh giá lý thuyết về các phương pháp trước đó

và tuyên bố rằng MM toán tử thích hợp cho nội suy. Một số phần mở rộng và

các vấn đề tiềm năng cho công việc trong tương lai cũng được thảo luận.

Những đóng góp chính là:

• Xem xét có hệ thống các ý tưởng được trình bày trong các tài liệu hiện

có, được củng cố về mặt lý thuyết.

• Một số ví dụ mô phỏng đơn giản thảo luận về những ưu điểm và nhược

điểm của các phương pháp.

• Cung cấp nền tảng cho các tiện ích mở rộng khác nhau và công việc

trong tương lai

Nói một cách dễ hiểu, các toán tử MM cơ bản - giãn nở, xói mòn, mở và

đóng, được xác định trên hình ảnh nhị phân và có thể được mở rộng sang hình

ảnh thang độ xám. Điều này đạt được trên mức trừu tượng bằng cách xác định

các toán tử trên cấu trúc trừu tượng được gọi là Lưới hoàn chỉnh. Tuy nhiên, ở

đây chỉ xem xét các toán tử cơ bản trên nhị phân và hình ảnh thang độ xám.

Ta có một số tính chất nội suy của phép toán hình thái học như sau [3,6]:

- Hình ảnh nhị phân

28

- Thang độ sáng hình ảnh

- Khoảng cách Hausdorff

- Vùng ảnh hưởng

2.3. Các phép lọc hình thái học ứng dụng cho ảnh OCR

2.3.1. Mô hình ảnh tài liệu kém chất lượng

Mặc dù phần lớn các tài liệu được tạo ra và lưu dưới dạng kỹ thuật số,

nhưng chúng ta vẫn thường xuyên tương tác với các tài liệu giấy. Tài liệu giấy

và kỹ thuật số có những điểm mạnh bổ sung cho nhau: giấy nhẹ, dễ mang theo, dễ

vận chuyển, dễ đọc và dễ dàng chú thích. Trái lại, tài liệu điện tử lại có thể được

tìm kiếm, lưu trữ trong cơ sở dữ liệu và dễ dàng được chia sẻ qua mạng.

Một cách lý tưởng, người ta có thể chuyển đổi giữa các phiên bản giấy

và kỹ thuật số của một tài liệu để mang lại lợi ích từ những ưu điểm của từng

phương tiện làm cho điều này khả thi, cần một cách đơn giản, nhanh chóng để

quét chính xác tài liệu giấy vào máy tính, máy quét phẳng cùng với phần mềm

đáp ứng được nhu cầu này, nhưng máy quét có thể cồng kềnh, chậm chạp. Mặt

khác máy ảnh điện thoại cầm tay với webcam nhỏ, có thể chụp nhanh ảnh tài

liệu và dễ sử dụng trong cài đặt di động.

Màu nền trước và nền sau của văn bản khá đồng nhất và các ký tự này

nằm trong bảng chữ cái chuẩn mực. Thách thức là chụp và nhận dạng văn bản

một cách chính xác,do chất lượng ảnh tài liệu thường kém do được chụp bởi

các hệ thống dựa trên camera có sẵn.

Đối với hình ảnh cung cấp đủ độ phân giải một cách chính xác phân đoạn

ký tự in (chẳng hạn như hình ảnh từ máy quét hoặc máy ảnh độ phân giải cao

với ánh sáng được kiểm soát) các phương pháp OCR hiện tại có độ chính xác

cao. Ngoài ra, ảnh ghép có độ phân giải cao có thể được tạo từ loạt hình ảnh

29

camera độ phân giải thấp. Ta cần tìm kiếm một phương pháp có thể nhận dạng

trực tiếp văn bản từ một hình ảnh duy nhất.

Cốt lõi của hệ thống là một nhận dạng ký tự dựa trên mạng nơron phức

hợp. Ta lấy một cửa sổ 29 x 29 của dữ liệu hình ảnh làm đầu vào và tạo ra một

vectơ có chứa phân phối xác suất mà cửa sổ nhập chứa hình ảnh của ký tự đó.

Để chuẩn hóa kích thước của một tài liệu cần kiểm tra, thì ở đây chia tỷ lệ hình

ảnh của từng từ để đảm bảo rằng phần không thẳng đứng của từ, bao gồm cả

phần tăng dần và phần giảm dần, vừa vặn bên trong một hình ảnh cao 29 pixel.

Sau đó để tìm phân phối xác suất cho bất kỳ điểm nào, từ hình ảnh được chia tỉ

lệ 29x29 và được sử dụng làm đầu vào cho bộ nhận dạng ký tự.

Kiến trúc mạng nơron phức hợp được chọn vì nó hoạt động tốt hơn mọi

thuật toán khác cho nhận dạng ký tự quang học, về chữ số viết tay bằng cách

sử dụng điểm chuẩn MNIST. Kiến trúc này được mô tả đầy đủ bởi Simard [5]

và được trình bày như trong Hình 2.2.

Hình 2.2. Kiến trúc mạng nơron phức hợp

Chiến lược chung của mạng phức hợp là tạo các tính năng đơn giản ở độ

phân giải cao hơn, và sau đó chuyển đổi chúng thành các tính năng phức tạp

hơn ở độ phân giải thô hơn. Các lớp đầu tiên thường tạo các tính năng rất thô

như các dẫn xuất X và Y, phiên bản đầu vào được lọc thông thấp và dẫn xuất

X-Y. Bởi vì các tính năng được học trên dữ liệu, không thể dự đoán chúng thực

sự sẽ mang lại những gì cho đến khi học xong. Lớp phức hợp thứ hai tạo các

tính năng phức tạp hơn nhiều ở độ phân giải thô. Ở đây giả thuyết rằng các đối

30

tượng địa lý là đường vòng, giao điểm, độ cong và những thứ tương tự. Hai lớp

đầu tiên này có thể được xem như một bộ tính năng có thể huấn luyện. Hai lớp

cuối cùng được kết nối hoàn toàn và có thể được xem như tạo thành một bộ

phân lớp đa năng, vì mạng nơron được kết nối đầy đủ 2 lớp có thể học bất kỳ

đặc trưng nào, các lớp được huấn luyện đồng thời, giảm thiểu hiện tượng nhiễu

chéo.

Những kinh nghiệm trước đây với kiến trúc này trên cả bảng chữ cái

MNIST và châu Á vì vậy việc lựa chọn 5 đặc trưng cho lớp chập đầu tiên và

50 đặc trưng cho lớp chập thứ hai là đủ cho một loạt các nhận dạng ký tự dựa

trên hình ảnh, bao gồm giải pháp nhận dạng ký tự quang học. Trong [5], tác giả

đã thử nghiệm với các mạng huấn luyện với số lượng đơn vị ẩn khác nhau và

nhận thấy rằng các mạng có từ 250 đến 750 đơn vị ẩn đều hoạt động tốt. Cần

có các thí nghiệm để tìm ra số đơn vị ẩn tối ưu.

Hình 2.3. Phân đoạn từ

Trong hình 2.3., dấu băm nhỏ cho biết kích thước lát cắt để phân đoạn

một từ. Các dấu thăng dài cho biết các lát thực sự được sử dụng cho mỗi chữ

cái trong các từ “riêng” và “nhất định”.

2.3.2. Lọc hình thái học

2.3.2.1.Toán tử hình thái trên không gian đồ thị

Từ quan điểm chính thức, xử lý hình ảnh kỹ thuật số trước đây bao gồm

phân tích các phép biến đổi trên các tập con của Z2 (tập hợp các điểm ảnh

trong một hình ảnh nhị phân) và các phép biến đổi hoạt động trên các ánh

xạ từ Z2 đến N (hình ảnh đơn lẻ). Theo quan điểm như vậy, các toán tử hình

31

thái toán học cung cấp một bộ công cụ lọc và phân đoạn rất hữu ích trong

các ứng dụng [6].

Mặt khác, ngày càng có nhiều sự quan tâm đến việc xem xét các đối

tượng kỹ thuật số không chỉ bao gồm các điểm mà còn bao gồm các phần tử

nằm giữa chúngvà mang thông tin cấu trúc về cách các điểm được ghép lại với

nhau. Đơn giản nhất trong số các biểu diễn này là đồ thị (không trọng số). Miền

của một hình ảnh được coi là một đồ thị có đỉnh tập hợp được tạo bởi các điểm

ảnh và tập hợp cạnh của nó được cung cấp bởi một quan hệ dựa trên các điểm

ảnh này. Trong bối cảnh này, cần phải xem xét các phép biến đổi tác động trên

tập hợp tất cả các đồ thị con và không chỉ hành động trên tập hợp tất cả tập hợp

con của các điểm ảnh.

Khi xử lý đồ thị G, thường cầnđể xem xét đồ thị được tạo ra bởi một tập

hợp con S các đỉnh của G. Cuối cùng, sự kết hợp với S là tập con lớn nhất của

các cạnh của G sao cho cặp thu được là một đồ thị. Trong khác trường hợp,

phải xét một đồ thị được tạo bởi một tập con các cạnh của G.

Được thúc đẩy bằng cách phân loại và hiểu các hoạt động này và kết hợp,

vậy đề xuất một nghiên cứu có hệ thống về các toán tử cơ bản là được sử dụng

để lấy một tập hợp các cạnh từ một tập các đỉnh và một tập các đỉnh từ một tập

hợp các cạnh. Nó chỉ ra rằng các toán tử này là sự giãn nở và ăn mòn. Chúng

cho phép khôi phục khái niệm cổ điển về sự giãn nở / xói mòn của một tập hợp

con đỉnh và để mở rộng nó đến các đồ thị con. Từ đó, có thể đề xuất một số xử

lý ăn mòn và giãn nở thực hiện được trên các tập con của các đỉnh và trên các

đồ thị con.

2.3.2.2. Toán tử hình thái trên các phức hợp đơn giản

Mục tiêu của ở đây là tìm hiểu sự giãn nở và ăn mòn hình thái tác động

lên các phức hợp (trong đó cả đầu vào và đầu ra của các toán tử đều là phức

hợp) và điều đó tạo ra phép đo hạt không tầm thường, (tức là đo độ hạt trong

32

đó độ giãn nở không phải là đơn vị)1. Thật vậy, những phép đo hạt tầm thường

như vậy đã được biết đến là quan trọng trong hình thái toán học để phân tích

và lọc kỹ thuật số đối tượng theo kích thước của chúng. Sau một lời nhắc ngắn

gọn về các tính từ hình thái trong khuôn khổ mạng, ở đây tác giả trình bày các

toán tử cổ điển cho xử lý các không gian tôpô như các phức chất đơn giản. Sau

đó, chỉ ra rằng giãn nở, ăn mòn và đo hạt đáp ứng các đặc tính nêu trên có thể thu

được bằng cách cẩn thận việc tạo ra các toán tử tôpô này [7].

Trong hình thái toán học, bất kỳ toán tử nào liên kết các phần tử của mạng

tinh thể L1 với các phần tử của mạng tinh thể L2 được gọi là sự giãn nở nếu nó đi

cùng với đỉnh. Tương tự, một toán tử giao tiếp với cận dưới đỉnh được gọi là một

sự xói mòn. Khái niệm về tính từ, được nhắc lại dưới đây, cho phép phân loại sự

giãn nở và ăn mòn thành các cặp toán tử dẫn đến phép đo hạt.

Gọi L1 và L2 là hai mạng có quan hệ thứ tự và siêu tối đa được ký hiệu

bởi ≤1, ≤2, V1 và V2. Hai toán tử α: L2 → L1 và αA: L1 → L2 tạo thành mộttính

từ (αA; α) nếu α (a) ≤1 b, a ≤2 αA (b) với mọi phần tử a trong L2 và b trong L1.

Người ta đã biết rõ rằng, với hai toán tử α và αA,nếu cặp (αA; α) là một tính từ,

thì αA là một xói mòn và α là một sự giãn nở. Hơn nữa, nếu α là một sự giãn

nở, thì quan hệ sau đặc trưng cho mối liên kết của nó xói mòn αA:

(2.10) ∀𝑎 ∈ ℒ1, 𝛼 𝐴(𝑎) = 𝑉2{𝑏 ∈ ℒ2|𝛼(𝑏) ≤1 𝛼

Ở đây việc trình bày hai cặp toán tử liền kề, chúng cổ điển trong cấu

trúc liên kết, và điều đó sẽ phục vụ để có được các phép đo hạt tầm thường trên

các phức hợp. Cho x là một đơn vị trong C, đặt:𝑥̂ = {𝑦|𝑦 ⊆ 𝑥, 𝑦 ≠ ∅} 𝑎𝑛𝑑𝑥̌ =

{𝑦 ∈ ℂ|𝑥 ⊆ 𝑦}.Các toán tử Cl: P (ℂ) → P (ℂ) và St: P (ℂ) → P (ℂ) được xác

định bởi:

∀𝑋 ∈ 𝒫(ℂ), 𝐶𝑙(𝑋) =∪ {𝑥̂| 𝑥 ∈ 𝑋 }; (2.11)

∀𝑋 ∈ 𝒫(ℂ), 𝑆𝑡(𝑋) =∪ {𝑥̌| 𝑥 ∈ 𝑋 }; (2.12)

1Phép đo hạt (Granulometry) là một cách tiếp cận để tính toán phân bố kích thước của các hạt trong hình ảnh nhị phân

33

Theo định nghĩa, các toán tử Cl và St đi cùng với nhau. Do đó, nó là độ

giãn trên P(ℂ). Và bằng cách áp dụng trực tiếp công thức (2.10), sự ăn mòn liền

kề ClA và StA của Cl và St được cho bởi:

∀𝑋 ∈ 𝒫(ℂ), 𝐶𝑙𝐴(𝑋) =∪ {𝑌 ∈ 𝒫(ℂ)|𝐶𝑙(𝑌) ⊆ 𝑋}; (2.13)

∀𝑋 ∈ 𝒫(ℂ), 𝑆𝑡𝐴(𝑋) =∪ {𝑌 ∈ 𝒫(ℂ)|𝑆𝑡(𝑌) ⊆ 𝑋}. (2.14)

Bốn toán tử được trình bày ở trên được minh họa trong Hình 2.4, trong

đó các tập con X, Y, Z, V và W, được làm bằng các đơn giản màu xám trong

Hình2.4 (a), 2.4 (b), 2.4 (c), 2.4 (d),và 2.4 (e), thỏa mãn các quan hệ sau Y = St

(X), Z = StA (X), V = Cl (Y),W = ClA (Z).

Cho 𝑋 ∈ 𝑃(ℂ) Tập hợp Cl (X) (tương ứng St (X)) là phức nhỏ nhất

(tương ứng sao) chứa X và tập hợp ClA (X) (tương ứng với StA (X)) là phức lớn

nhất (tương ứng sao) chứa trong X. Do đó, rõ ràng, C (tương ứng S) là bất biến

miền của Cl và ClA (tương ứng với St và StA): C = { 𝑋 ∈ 𝑃(ℂ)) | Cl(X) = X }

={ 𝑋 ∈ 𝑃(ℂ)| ClA (X) = X} (tương ứng với S = { 𝑋 ∈ 𝑃(ℂ)| St (X) = X} =

{ 𝑋 ∈ 𝑃(ℂ)| StA (X) = X}). Các dữ kiện này được biết đến nhiều trong ngữ

cảnh của không gian tôpô nơi các tập St (X), ClA (X) và StA (X) được gọi là

tương ứng là phần đóng (đơn giản), hình sao, lõi và phần bên trong của X.

Vì các toán tử Cl và St là độ giãn nở, chúng tạo thành một lựa chọn đơn

giản để khảo sát hình thái phức hợp. Tuy nhiên, những sự giãn nở này là: Cl ◦

Cl (X) = Cl (X) và St ◦ St (X) = St (X). Do đó, dẫn đến đo hạt tầm thường. Để

có được các phép đo hạt không tầm thường, người ta có thể coi thành phần Dil

= Cl ◦ St. Thật vậy, toán tử Dil là sự giãn nở (vì nó là một thành phần của các

chất pha loãng), nói chung, không phải là đơn vị, kết quả của chúng luôn là

phức tạp. Theo định lý về thành phần của các tính từ xói mòn liền kề được đưa

rabởi Er = DilA = StA ◦ ClA. Do những nhận xét của đoạn trước,đặt Er (X) luôn

là một hình sao. Như vậy, về tổng thể, tập Er(X) không phức tạp.

34

Do đó, cặp (Er; Dil) không dẫn đến việc đo hạt tác dụng lên phức chất. Để

có được các phép đo hạt tầm thường trên các phức hợp, hạn chế toán tử. Chính

xác hơn, định nghĩa các toán tử: S C và C S bởi:

(2.15) ∀𝑋 ∈ 𝒮,⋄ (𝑋) = 𝐶𝑙(𝑋);

(2.16) ∀𝑋 ∈ 𝐶,⋆ (𝑌) = 𝑆𝑡(𝑌).

Sự khác biệt duy nhất giữa ⋄và Cl là các lĩnh vực hoạt động của các toán

tử. Một nhận xét tương tự đúng cho⋆ và St. Các toán tử này vàcũng rõ ràng là

hai độ giãn. Sau đó, sử dụng lại công thức 2.10, sự ăn mòn liền kề ⋄𝑨và⋆𝑨 của⋄

∀𝑋 ∈ 𝒞,⋄𝐴 (𝑋) = ⋃{𝑌 ∈ 𝒮| ⋄ (𝑌) ⊆ 𝑋};

và ⋆ được đưa ra bởi:

∀𝑌 ∈ 𝒮,⋆𝐴 (𝑌) = ⋃{𝑋 ∈ 𝒞| ⋆ (𝑋) ⊆ 𝑌}.

(2.17)

(2.18)

Có thể dễ dàng nhận thấy sao⋄𝑨(X) là phần bên trong của phức chất X

và phức hợp ⋆𝑨(Y) là lõi của hình sao Y. Do đó, người ta suy ra một cách đơn

giản thuộc tính sau liên kết phần phụ của ⋆, ⋄, St và Clmột cách đơn giản hơn.

Thuộc tính 1: Hai mệnh đề sau đây đúng:

∀𝑋 ∈ 𝐶,⋄𝐴 (𝑋) = 𝑆𝑡𝐴(𝑋); (2.19)

∀𝑋 ∈ 𝒮,⋆𝐴 (𝑌) = 𝐶𝑙𝐴(𝑌). (2.20)

Nó được biết trong cấu trúc liên kết rằng các toán tử đóng và toán tử bên

trong là kép với phần bổ sung. Do đó, suy ra kết quả sau đây.

̅̅̅̅̅̅̅ ̅̅̅̅̅̅̅với bất kỳ X ∈ C (tương ứng ⋆𝐴 (Y) = ⋆ (𝑌̅)

Thuộc tính 2: Các toán tử⋄ và ⋄𝐴 (tương ứng ⋆ Và ⋆𝐴) là kép w.r.t. phần

bù trong 𝑃(ℂ): ta có⋄𝐴(X) =⋄ (𝑋̅)

, cho bất kỳ Y∈ S).

Lưu ý rằng sử dụng trực tiếp công thức 2.17, 2.18, tính toán ⋄𝐴 (X)(tương ứng ⋆𝐴 (X)) yêu cầu một thời gian hàm mũ vì tất cả các hình sao (phức hợp)

phải được xem xét. Mặt khác, vì các toán tử Cl và St được xác định cục bộ,

35

⋄(X) và ⋆(X) có thể được tính theo thời gian tuyến tính. Do đó theo hệ quả của

thuộc tính 2⋄ (X) và ⋆ (X) cũng có thể được tính theo thời gian tuyến tính.

Bây giờ hãy tìm các phần giãn nở⋄ và ⋆ , Cũng như các phần phụ của

chúng, để có được một cặp giãn nở và ăn mòn liền kề tác động lên phức chất.

Hình 2.4. Minh họa về sự giãn nở và ăn mòn hình thái trên các phức hợp

2.3.2.3.Bộ lọc đóng và mở khu vực hình thái

Bộ lọc loại bỏ khỏi hình ảnh nhị phân, các thành phần được kết nối của nó

có diện tích nhỏ hơn một tham số được gọi là khu vực mở. Từ góc độ hình thái

học, bộ lọc này là một mở đại số, và nó có thể được mở rộng để hình ảnh thang

độ xám. Các thuộc tính của khu vực mở và đóng cửa khu vực kép của họ được

thu hồi. Cụ thể, điều đó đã được chứng minh rằng việc khu vực mở của tham

số của hình ảnh là tối cao của thang độ xám hình ảnh nhỏ hơn có cực đại khu

vực có diện tích lớn hơn hoặc bằng. Định lý này là cơ sở của một thuật toán

hiệu quả cho máy tính khu vực thang độ xám mở và đóng. Việc thực hiện của

nó bao gồm quét các điểm ảnh theo thứ tự phụ thuộc cả về vị trí và giá trị của

chúng. Đối với mục đích này,sử dụng các điểm ảnh được đề xuất. Cấu trúc dữ

liệu này là hiển thị và không yêu cầu cao về bộ nhớ. Ngoài ra, nó có thể được

sử dụng trong tính toán của biến đổi hình thái phức tạp khác nhau. Các ứng

dụng các khu vực mở và đóng được minh họa trên nhiệm vụ lọc ảnh và phân

đoạn.

36

2.4. Phương pháp đánh giá chất lượng ảnh

Để đánh giá chất lượng của bức ảnh (hay khung ảnh video) ở đầu ra

của bộ mã hoá, người ta thường sử dụng hai tham số: Sai số bình phương trung

bình – MSE (Mean Square Error) và phương pháp đề xuất với hệ số tỷ lệ tín

hiệu / tín hiệu nhiễu PSNR (Peak Signal to Noise Ratio).

𝑚

𝑛

MSE giữa ảnh gốc và ảnh khôi phục được tính như sau:

MSE = (2.21) 𝑥𝑖𝑗 − 𝑦𝑖𝑗)2 1 𝑚𝑛 ∑ ∑( 𝑖=1 𝑗=1

Trong đó:

xij:biểu thị giá trị điểm ảnh gốc.

yij:biểu thị giá trị điểm ảnh đã được biến đổi.

m và n lần lượt là chiều rộng và chiều cao của ảnh.

Hệ số PSNR (đơn vị deciben, dB), thường được sử dụng trong nghiên

cứu xử lý hình ảnh được tính như sau:

2552 𝑀𝑆𝐸

PSNR = 10∗𝑙𝑜𝑔10( ) (2.22)

Thông thường, nếu PSNR > 35dB thì hệ thống mắt người gần như không

phân biệt được giữa ảnh gốc và ảnh khôi phục. PSNR càng cao thì chất lượng

ảnh khôi phục càng tốt.

Khi hai hình ảnh giống hệt nhau, MSE sẽ bằng 0 và PSNR đi đến vô hạn.

37

CHƯƠNG 3

THỬ NGHIỆM PHÉP LỌC HÌNH THÁI HỌC

ỨNG DỤNG CHO ẢNH TÀI LIỆU KÉM CHẤT LƯỢNG

Chương này trình bày về thử nghiệm các phép toán hình thái cơ bản, tiếp

đó là minh họa thử nghiệm với một số ứng dụng với các phép toán hình thái

thực hiện loại bỏ nhiễu để làm rõ đối tượng, loại bỏ các chi tiết thừa trong ảnh.

3.1. Thiết kế mô hình thử nghiệm

3.1.1. Công cụ

Chương trình ứng dụng được xây dựng trên giao diện GUI của phần mềm

Matlab 2020a. Sở dĩ học viên lựa chọn xây dựng phần mềm mô phỏng trên

Matlab vì đây là phần mềm chuyên dụng cho tính toán số liệu dưới dạng ma

trận và ảnh số cũng là một đối tượng. Ngoài ra, Matlab cũng tích hợp rất nhiều

các công cụ hỗ trợ cho xử lý ảnh nên rất tiện cho việc so sánh và đánh giá hiệu

quả của các phương pháp.

Mã nguồn thử nghiệm bao gồm 02 module chính là:morph.m: cài đặt các

phép toán hình thái cơ bản; và lvtn.m: Cài đặt giao diện chính của chương trình

xử lý ảnh, có hỗ trợ giao tiếp với người dùng.

3.1.2. Tập dữ liệu thử nghiệm

Tập dữ liệu sử dụng trong thử nghiệm là tập dữ liệu bao gồm nhiều ảnh tự

nhiên và do học viên tự tạo theo nhiều thể loại khác nhau: người, vật, chữ viết

tay,... Các ảnh theo định dạng .bmp, .png, .jpg có thể là ảnh xám hoặc ảnh màu

với nhiều kích thước khác nhau: 256 x 256, 446 x 373,...

3.2. Phép toán hình thái cơ bản

Phần này minh họa kết quả cài đặt các phép toán hình thái cơ bản: Phép

toán Dilation, Phép toán Erosion, Phép toán Opening và Phép toán Closing.

38

Dữ liệu vào: ảnh có định dạng *.png, *.jpg hay *.bmp, là ảnh màu hoặc

ảnh xám.

Dữ liệu ra: Các ảnh kết quả tương ứng với các phép toán hình thái.

Hình 3.1. Minh họa các phép toán hình thái cơ bản

3.3. Loại bỏ nhiễu để làm rõ đối tượng

Bài toán làm rõ đối tượng ảnh: loại bỏ nhiễu trong nền ảnh để làm rõ đối

tượng tiền cảnh bằng sử dụng kết hợp một số phép toán hình thái.

Giao diện của chương trình cho trong hình dưới. Chức năng chính của

chương trình ứng dụng gồm:

- Select an image: Chọn một ảnh trên máy tính và hiển thị trên khung

Input image.

- Select an application: Lựa chọn ứng dụng tương ứng.

- Confirm: Xác nhận lựa chọn, thực thi ứng dụng tương ứng và hiển thị kết

quả trên khung Output Image. Các số đo sai số toàn phương trung bình (MSE)

và tỉ số tín hiệu cực đại trên nhiễu (PSNR) được tính trên hộp văn bản.

39

- Dữ liệu vào: ảnh I1 có định dạng *.png, *.jpg hay *.bmp, là ảnh màu hoặc

ảnh xám.

- Dữ liệu ra: ảnh kết quả cùng kích thước và định dạng với ảnh nguồn.

- Thuật toán: Được mô tả qua danh sách các bước như sau:

1. Đọc ảnh nguồn I1.

2. Thực hiện phép toán Opening để thu được ảnh I2.

3. Lấy hiệu I3 = I1-I2

4. Chuyển I3 về ảnh đa cấp xám

5. Nhị phân hóa ảnh I3

6. loại bỏ tất cả các thành phần (đối tượng) được kết nối có ít hơn 50

điểm ảnh khỏi hình ảnh nhị phân

7. Tăng cường độ sáng cho ảnh kết quả

Hình 3.2. Làm rõ đối tượng tiền cảnh

Thử nghiệm này cho thấy nâng cao chất lượng hình ảnh như một bước tiền

xử lý trước khi phân tích. Trong ví dụ này, bạn sửa độ sáng nền không đồng

đều và chuyển hình ảnh thành hình ảnh nhị phân để giúp dễ dàng xác định các

40

đối tượng tiền cảnh (từng hạt gạo). Sau đó, ta có thể phân tích các đối tượng

trong hình ảnh.

Kết quả: giá trị MSE là 8310.4535, giá trị PSNR là 8.9346

3.4. Làm rõ điểm bất thường Bài toán: cần làm nổi rõ những bất thường trên ảnh. Điểm bất thường có

thể là những dị biệt trong ảnh đầu vào chẳng hạn như vết đọng đá vôi trong

mắt, hoặc vết rớt mực trong bản chữ viết tay.

Dữ liệu vào: ảnh I1có định dạng *.png, *.jpg hay *.bmp, là ảnh màu hoặc

ảnh xám.

Dữ liệu ra: ảnh kết quả cùng kích thước và định dạng với ảnh nguồn.

Thuật toán: Được mô tả qua danh sách các bước như sau:

1. Đọc ảnh nguồn I1.

2. Tìm I2 là thành phần ảnh Green của I1

3. Tính I3 là kết quả của phép hình thái imbothat với I2

4. Tính I4 là kết quả của phép hình thái imtophat với I3

5. Bổ sung đường viền contour vào ảnh kết quả I3-I2

Giao diện của chương trình được cho trong Hình 3.3. Hiệu quả của phương

pháp thể hiện trong thử nghiệm này cho bởi các giá trị MSE là 403.9604 và giá

trị PSNR là 22.0674.

41

Hình 3.3. Làm rõ điểm bất thường

3.5. Kết hợp các phép toán hình thái để khử nhiễu ảnh

Bài toán: Cho trước ảnh đầu vào có nhiều chi tiết thừa, nhiễu. Cần loại

bỏ chúng để chỉ giữ những phần chính. Những chi tiết thừa này có thể là vết

lem mực, nhòe, ố,…

Dữ liệu vào: ảnh I1có định dạng *.png, *.jpg hay *.bmp, là ảnh màu hoặc

ảnh xám.

Dữ liệu ra: ảnh kết quả cùng kích thước và định dạng với ảnh nguồn.

Thuật toán: Được mô tả qua danh sách các bước như sau:

1. Đọc ảnh nguồn I1.

2. Tìm I2 là thành phần ảnh Blue của I1

3. Tìm I3 là ảnh làm mịn của I2

4. Thực hiện phép toán hình thái mở Open cho I3 để thu được ảnh kết quả.

42

Giao diện của chương trình:

Hình 3.4. Khử nhiễu ảnh

Kết quả: giá trị MSE là 5000.0589, giá trị PSNR là 11.1411

Ngoài ra, một số hình ảnh OCR đơn giản cũng được thử nghiệm với ứng

dụng này.

Hình a.

43

Hình b.

Hình c.

Hình 3.5. Khử nhiễu ảnh OCR

44

Có thể thấy, hình ảnh kết quả thu được đã rõ hơn và bị loại bỏ các nhiễu

trong ảnh.

Áp dụng công thức MSE và PSNR ta có kết quả thử nghiệm được thống

kê trong bảng sau.

Bảng 3.1 Kết quả thử nghiệm

Thử nghiệm MSE PSNR

3.2 8310.4535 8.9346

3.3 403.9604 22.0674

3.4 5000.0589 11.1411

3.5.a 1528.7836 16.2873

3.5.b 2124.3791 14.8585

3.5.c 1340.3215 16.8587

Kết quả thử nghiệm trong bảng 3.1 cho thấy nội dung chính của các ảnh

sau khi nâng cao chất lượng ảnh gần như không thay đổi, đặc biệt là các thử

nghiệm với ảnh OCR, ngoại trừ những phần tử ảnh nhiễu nhỏ.

Trong số 6 thử nghiệm, thì thử nghiệm 3.2 có kết quả kém nhất, thử

nghiệm 3.3 cho kết quả tốt nhất. Ngoài ra, ba kết quả trong các thử nghiệm cuối

với ảnh OCR cho kết quả tương đối ổn định với các dữ liệu khác nhau và giá

trị PSNR thay đổi không nhiều (sai khác ~2).

45

KẾT LUẬN

Kết quả đã đạt được

- Nghiên cứu tổng quan về xử lý ảnh và phép toán hình thái: Khái niệm xử

lý ảnh, quá trình xử lý ảnh và các khái niệm về phép toán hình thái học; Một số

tính chất nội suy của phép toán hình thái học: Trên ảnh xám, ảnh màu và nêu

ra tính chất nội suy của phép toán hình thái học và các phép lọc hình thái học

cho ảnh OCR.

- Xây dựng chương trình thử nghiệm phép lọc hình thái học ứng dụng cho

ảnh tài liệu kém chất lượng: cài đặt thử nghiệm phép lọc hình thái và đánh giá

MSE.

Hướng phát triển

- Tối ưu các thuật toán để cải thiện tốc độ cũng như chất lượng ảnh.

- Căn cứ vào đánh giá MSE và PSNR để điều chỉnh các tham số cho các

thuật toán.

46

TÀI LIỆU THAM KHẢO

A. TIẾNG VIỆT [1]. Nguyễn Xuân Vinh (2010), Phép toán hình thái học, Luận văn khoa học Thạc sỹ công nghệ thông tin, Khoa Công nghệ thông tin – Đại học Thái Nguyên. B. TIẾNG ANH [2]. Dr. Pierre Soille(2004), Morphological Image Analysis - Principles and

Applications, Springer-Verlag Berlin Heidelberg.

[3]. Laurent Najman, Hugues Talbot (2010), Mathematical Morphology- From

Theory to Applications, Wiley-ISTE.

[4].Xaro Benavent, Esther Dura, Francisco Vegara, and Juan Domingo (2012), Mathematical Morphology for Color Images: An Image-Dependent Approach, Mathematical Problems in Engineering, pp. 1-18.

[5].Charles Jacobs, Patrice Y. Simard, Paul Viola, and James Rinker (2005),Text Recognition of Low-resolution Document Images, Eighth International Conference on Document Analysis and Recognition (ICDAR'05), Seoul, South Korea, pp. 695-699.

[6]. Aditya Challa, Sravan Danda, B S Daya Sagar, Laurent Najman (2018), Some Properties of Interpolations Using Mathematical Morphology, IEEE Transactions on Image Processing, vol. 27, no. 4, pp. 2038-2048.

[7]. Dias F., Cousty J., Najman L. (2011), Some Morphological Operators on Simplicial Complex Spaces, Proceedings of the 16th IAPR international conference on Discrete geometry for computer imagery, pp. 441–452.

47

PHỤ LỤC

1. Một số hàm Matlab dùng trong xử lý ảnh

imerode imerode(I, SE) xóa bỏ thang màu xám, nhị phân hoặc hình ảnh

nhị phân đóng gói I, trả lại hình ảnh bị xói mòn. SE là một đối

tượng phần tử có cấu trúc hoặc mảng các đối tượng phần tử có

cấu trúc, được trả về bởi các hàm strel hoặc offsetstrel.

imdilate imdilate(I, SE) làm giãn màu xám, nhị phân hoặc hình ảnh nhị

phân đóng gói I, trả về hình ảnh được làm giãn. SE là đối tượng

phần tử có cấu trúc hoặc mảng các đối tượng phần tử có cấu trúc,

được trả về bởi các hàm strel hoặc offsetstrel.

imopen imopen(I, SE) thực hiện mở hình thái trên thang độ xám hoặc

hình ảnh nhị phân I, trả về hình ảnh đã mở. SE là một đối tượng

phần tử có cấu trúc đơn được trả về bởi các hàm strel hoặc

offsetstrel. Hoạt động mở hình thái là một sự xói mòn theo sau

là một sự giãn nở, sử dụng cùng một phần tử cấu trúc cho cả hai

hoạt động.

imclose imclose(I, SE) thực hiện đóng hình thái trên thang màu xám hoặc

hình ảnh nhị phân I, trả về hình ảnh đã đóng. SE là một đối tượng

phần tử có cấu trúc đơn được trả về bởi các hàm strel hoặc

offsetstrel. Hoạt động đóng theo hình thái học là một sự giãn nở

theo sau là một sự xói mòn, sử dụng cùng một phần tử cấu trúc

cho cả hai hoạt động.

imtophat imtophat(I, SE) thực hiện lọc top-hat hình thái trên thang độ xám

hoặc hình ảnh nhị phân I, trả về hình ảnh đã lọc. Top-hat filter

tính toán độ mở hình thái của hình ảnh (sử dụng imopen) và sau

đó lấy kết quả trừ đi kết quả ban đầu hình ảnh. SE là một đối

48

tượng phần tử có cấu trúc đơn được trả về bởi các hàm strel hoặc

offsetstrel.

imbothat imbothat(I, SE) thực hiện lọc mũ đáy hình thái trên thang độ xám

hoặc hình ảnh nhị phân I, trả về hình ảnh đã lọc. Lọc mũ đáy

tính toán việc đóng hình thái của hình ảnh (sử dụng imclose) và

sau đó trừ hình ảnh gốc khỏi kết quả. SE là một đối tượng phần

tử có cấu trúc đơn được trả về bởi các hàm strel hoặc offsetstrel.

immse Immse(X, Y) tính toán sai số trung bình (MSE) giữa mảng X và

Y.

2. Mã nguồn

Phần này trình bày các mã nguồn chính xây dựng chương trình thử nghiệm.

* Phép toán hình thái cơ bản

f1=double(imread('lena512.bmp'));

f=f1(:,:,1);

subplot(2,3,1);

imshow(uint8(f));

title('Original image');

[x,y]=size(f);

p=zeros(x,y);p2=zeros(x,y);p12=zeros(x,y);p13=zeros(

x,y);

%Phép toán Dilation

w=[1 1 1; 1 1 1; 1 1 1];

for s=2:x-2

for t=2:y-2

49

w1=[f(s-1,t-1)*w(1) f(s-1,t)*w(2) f(s-

1,t+1)*w(3) f(s,t-1)*w(4) f(s,t)*w(5) f(s,t+1)*w(6)

f(s+1,t-1)*w(7) f(s+1,t)*w(8) f(s+1,t+1)*w(9)];

p(s,t)=max(w1);

end

end

subplot(2,3,2);

imshow(uint8(p));

title('Dilated image');

%Phép toán Erosion

w=[1 1 1; 1 1 1; 1 1 1];

for s=2:x-1

for t=2:y-1

w12=[f(s-1,t-1)*w(1) f(s-1,t)*w(2) f(s-

1,t+1)*w(3) f(s,t-1)*w(4) f(s,t)*w(5) f(s,t+1)*w(6)

f(s+1,t-1)*w(7) f(s+1,t)*w(8) f(s+1,t+1)*w(9)];

p1(s,t)=min(w12);

end

end

subplot(2,3,3);

imshow(uint8(p1));

title('Eroded image');

%Phép toán Opening

[m,n]=size(p);

w=[1 1 1; 1 1 1; 1 1 1];

for s=2:m-1

for t=2:n-1

50

w13=[p(s-1,t-1)*w(1) p(s-1,t)*w(2) p(s-

1,t+1)*w(3) p(s,t-1)*w(4) p(s,t)*w(5) p(s,t+1)*w(6)

p(s+1,t-1)*w(7) p(s+1,t)*w(8) p(s+1,t+1)*w(9)];

p12(s,t)=min(w13);

end

end

subplot(2,3,4);

imshow(uint8(p12));

title('opening of image');

%Phép toán Closing

[r,c]=size(p1);

w=[1 1 1; 1 1 1; 1 1 1];

for s=2:r-1

for t=2:c-1

w14=[p1(s-1,t-1)*w(1) p1(s-1,t)*w(2) p1(s-

1,t+1)*w(3) p1(s,t-1)*w(4) p1(s,t)*w(5)

p1(s,t+1)*w(6) p1(s+1,t-1)*w(7) p1(s+1,t)*w(8)

p1(s+1,t+1)*w(9)];

p13(s,t)=min(w14);

end

end

subplot(2,3,5);

imshow(uint8(p13));

title('Closing of image');

* Loại bỏ nhiễu để làm rõ đối tượng

axes(handles.axes2);

se = strel('disk',15);

background = imopen(I,se);%I là ảnh gốc

I2 = I - background;

51

I3 = imadjust(rgb2gray(I2));

bw = imbinarize(I3);

bw = bwareaopen(bw,50);

imshow(imlocalbrighten(double(bw),0.6));

F = getframe(handles.axes2);

Image2 = frame2im(F);

err = immse(Image1,Image2);

str1= sprintf('The MSE is %0.4f', err);

str2= sprintf('The PSNR is %0.4f',

10*log10(255*255/err));

str3=sprintf('%s. %s',str1,str2);

handles.edit1.String = str3;

* Làm rõ điểm bất thường

R=I(:,:,1);

G=I(:,:,2);

B=I(:,:,3);

se=strel('disk',5);

C=imbothat(G,se); %lọc hình thái

se=strel('disk',8);

H=imtophat(G,se);%lọc hình thái

tmp=im2bw(H-C,.2);

imshow(I);hold on;

F = getframe(handles.axes2);

Image1 = frame2im(F);

u=contour(tmp,'b');

F = getframe(handles.axes2);

Image2 = frame2im(F);

err = immse(Image1,Image2);

str1= sprintf('The MSE is %0.4f', err);

52

str2= sprintf('The PSNR is %0.4f',

10*log10(255*255/err));

str3=sprintf('%s. %s',str1,str2);

handles.edit1.String = str3;

* Kết hợp các phép toán hình thái để khử nhiễu ảnh

function J = bwsmooth( I, params )

params = parameter_set( params );

D = bw2dist( I, params );

D = smooth_dist( D, params );

J = dist2bw( D, params );

end

function params = parameter_set( params_ )

params.bz_thresh = 0;

params.as_scale = 1;

names = fieldnames( params_ );

for i = 1:length( names )

name = names{ i };

params = setfield( params, name, getfield(

params_, name ) );

end

end

function D = bw2dist( B, params )

B_posi = B > 0; % char

B_nega = ~B_posi; % bg

D = bwdist( bwperim( B_posi ), 'quasi-euclidean' );

D_posi = B_posi .* D;

D_nega = -(B_nega .* D);

D = D_posi + D_nega;

end

53

function D_ = smooth_dist( D, params )

nite = 30; % number of iterations

wsize = 5; % window size of gaussian function

wsigma = 1.5; % standard deviation

enhance = 20; % enchancement degree. (enhance > 0)

dt = 0.25; % time step

scale = params.as_scale;

D_ = imresize( D, scale, 'cubic' );

D_= impdevec(D_, wsize, wsigma, enhance, dt, nite);

D_ = imresize( D_, size(D), 'cubic' );

if params.debug

figure(1001), imshow( 1./ (1 + exp(-0.1*[D, D_])));

title( 'Smoothing for a distance image. before

(left) and after (right)' );

DD = [D, D_];

DD( DD>0 ) = 0;

DD = -DD;

DD = exp( -DD/ 5 );

figure(1002), imagesc( DD ); axis image;

title( 'before / after with color enhancement for

displaying');

end

end

function B = dist2bw( D, params )

thresh = params.bz_thresh;

B = D > thresh;

end

function J = impdevec( I, wsize, wsigma, enhance,

dt, nIter )

54

[sy, sx, sc] = size(I);

J = I;

Hx = 0.5 * [ -1, 0, 1 ];

Hy = Hx';

Hxx = [ 1 -2 1 ];

Hyy = Hxx';

Hxy = 0.25 * [ 1 0 -1; 0 0 0; -1 0 1 ];

K = fspecial( 'gaussian', wsize, wsigma );

for iItr = 1:nIter

[Ix, Iy] = gradient_( J, Hx, Hy );

[G11, G12, G21, G22] = structure_tensor( Ix, Iy,

K );

[R_min, R_max, Vx, Vy] = gradv( G11, G12, G21,

G22 );

r_std = enhance / ( std( sqrt( R_min( : ) ) ) +

eps(1) );

R_min = r_std * R_min;

R_max = r_std * R_max;

R2 = 1 ./ ( 1 + R_min + R_max );

R1 = sqrt( R2 );

[D11, D12, D21, D22] = diffusion_tensor( R1, R2,

Vx, Vy, sc );

[Ixx, Ixy, Iyx, Iyy ] = hessian_( J, Hxx, Hxy,

Hyy );

DH = ( D11 .* Ixx + D12 .* Ixy ) + ( D21 .* Iyx

+ D22 .* Iyy );

J = J + dt * DH;

end

end

55

function [Ix, Iy] = gradient_( I, Hx, Hy )

Ix = imfilter( I, Hx, 'replicate' );

Iy = imfilter( I, Hy, 'replicate' );

end

function [ Ixx, Ixy, Iyx, Iyy ] = hessian_( I, Hxx,

Hxy, Hyy )

Ixx = imfilter( I, Hxx, 'replicate' );

Ixy = imfilter( I, Hxy, 'replicate' );

Iyx = Ixy;

Iyy = imfilter( I, Hyy, 'replicate' );

end

function [G11, G12, G21, G22] = structure_tensor(

Ix, Iy, K )

G11 = sum( Ix.*Ix, 3 );

G12 = sum( Ix.*Iy, 3 );

G22 = sum( Iy.*Iy, 3 );

G11 = imfilter( G11, K, 'replicate' );

G12 = imfilter( G12, K, 'replicate' );

G21 = G12;

G22 = imfilter( G22, K, 'replicate' );

end

function [ D11, D12, D21, D22 ] = diffusion_tensor(

R1, R2, Vx, Vy, sc )

D11 = R2 .* Vx.*Vx + R1 .* Vy.*Vy;

D12 = R2 .* Vx.*Vy - R1 .* Vy.*Vx;

D22 = R2 .* Vy.*Vy + R1 .* Vx.*Vx;

D11 = repmat( D11, [ 1 1 sc ] );

D12 = repmat( D12, [ 1 1 sc ] );

D21 = D12;

56

D22 = repmat( D22, [ 1 1 sc ] );

end

function [ R_min, R_max, Vx, Vy ]...

= gradv( G11, G12, G21, G22 )

a = G11 + G22;

b = G11 - G22;

c = G12 .* G21;

d = sqrt( b.^2 + 4 * c );

R_min = 0.5 * ( a - d );

R_max = 0.5 * ( a + d );

R_min = max( R_min, 0 );

R_max = max( R_max, 0 );

t_max = atan2( R_max - G11, G12 );

Vx = cos( t_max );

Vy = sin( t_max );

end

fname = 'exam1.bmp';

I = imread(fname);

imshow( I );

B = I > 0;

B = B(:,:,1);

params.bz_thresh = -0;

params.as_scale = 1/4;

params.debug = 1; % show all figures

B_our = bwsmooth(B,params);

figure(1),

imshow( [B, B_our] );

title( 'Original binarized image (Left) and Smoothed

image (Right)' );

57

SE = strel('square',4);

figure(3),

imshow(B_our);

a= imopen(imcomplement(B_our), SE);

figure(4),

imshow(imcomplement(a));

a=imdilate(a,SE);

figure(5),

imshow(imcomplement(a));

IM2=I(:,:,[1 1 1]);

IM3=a(:,:,[1 1 1]);

I2=im2uint8(IM2);

I3=im2uint8(IM3);

err = immse(I2,I3);

str1= sprintf('The MSE is %0.4f', err);

str2= sprintf('The PSNR is %0.4f',

10*log10(255*255/err));

str3=sprintf('%s. %s',str1,str2);

handles.edit1.String = str3;