ĐẠ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;