Mục Lục Chương I: Các khái niệm cơ bản trong xử lý ảnh. 1 1.1 Một số khái niệm 1 1.1.1 Phần tử ảnh. 1 1.1.2 Ảnh. 1 1.1.3 Mức xám. 2 1.1.4 Ảnh đen trắng. 3 1.1.5 Ảnh màu. 3 1.1.6 Các định dạng cơ bản. 6 1.2 Một số kỹ thuật tiền xử lý ảnh . 8 1.2.1 Chuyển ảnh xám. 8 1.2.2 Lọc nhiễu. 9 1.2.3 Nhị phân ảnh. 12 1.2.4 Lược đồ mức xám (Histogram): 13 1.2.5 Phóng to, thu nhỏ ảnh. 15 1.2.6 Kỹ thuật phân vùng đối tượng. 15 1.2.6.1 Phân vùng ảnh dựa trên phương pháp phân lớp 16 1.2.6.2 Phân vùng ảnh dựa trên cấu trúc 18 1.2.6.3 Phân vùng dựa vào đường biên 21 Chương 2: Kỹ thuật nhận dạng chữ in. 25 2.1. Sơ đồ tổng quát của một hệ nhận dạng chữ 25 2.2. Giai đoạn tách chữ 28 2.3. Một số thuật toán nhận dạng chữ in 29 2.3.1 Kỹ thuật đối sánh mẫu 29 2.3.2 Thuật toán nhận dạng chữ dựa vào cấu trúc 32 Chương 3: Bài toán nhận dạng biển số xe máy. 35 Tổng quan về hệ thống nhận dạng biển số xe máy trong thực tế. 36 3.1 Thiết bị thu nhận ảnh. 38 3.2 Hệ thống xử lý ảnh. 39 3.2.1 Các giả thiết đầu vào. 40 3.2.2 Tách vùng biển số. 42 3.2.3 Cách ly vùng ký tự 45 3.2.4 Tách ký tự 49 3.2.5 Nhận dạng ký tự 50 Thiết kế chương trình và kết quả thực nghiệm 55 Kết luận và hướng mở rộng của đồ án. 60 TÀI LIỆU THAM KHẢO 62
Trang 11.1 Một số khái niệm 1
1.1.1 Phần tử ảnh 1
1.1.2 Ảnh 1
1.1.3 Mức xám 2
1.1.4 Ảnh đen trắng 3
1.1.5 Ảnh màu 3
1.1.6 Các định dạng cơ bản 6
1.2 Một số kỹ thuật tiền xử lý ảnh 8
1.2.1 Chuyển ảnh xám 8
1.2.2 Lọc nhiễu 9
1.2.3 Nhị phân ảnh 12
1.2.4 Lược đồ mức xám (Histogram): 13
1.2.5 Phóng to, thu nhỏ ảnh 15
1.2.6 Kỹ thuật phân vùng đối tượng 15
1.2.6.1 Phân vùng ảnh dựa trên phương pháp phân lớp 16
1.2.6.2 Phân vùng ảnh dựa trên cấu trúc 18
1.2.6.3 Phân vùng dựa vào đường biên 21
Chương 2: Kỹ thuật nhận dạng chữ in. 25 2.1 Sơ đồ tổng quát của một hệ nhận dạng chữ 25
2.2 Giai đoạn tách chữ 28
2.3 Một số thuật toán nhận dạng chữ in 29
2.3.1 Kỹ thuật đối sánh mẫu 29
2.3.2 Thuật toán nhận dạng chữ dựa vào cấu trúc 32
Chương 3: Bài toán nhận dạng biển số xe máy 35 Tổng quan về hệ thống nhận dạng biển số xe máy trong thực tế 36
Trang 23.2.1 Các giả thiết đầu vào 40
3.2.2 Tách vùng biển số 42
3.2.3 Cách ly vùng ký tự 45
3.2.4 Tách ký tự 49
3.2.5 Nhận dạng ký tự 50
Thiết kế chương trình và kết quả thực nghiệm 55 Kết luận và hướng mở rộng của đồ án. 60
Trang 3Hình 1.2: Các màu cơ bản của hệ màu CMY 5
Hình 1.3: Không gian màu HSV 6
Hình 1.4: Chuyển ảnh xám 9
Hình 1.5: Mặt nạ thông thấp 10
Hình 1.6: Lọc trung bình 11
Hình 1.7: Mặt nạ thông cao 11
Hình 1.8: Lọc trung vị 12
Hình 1.9: Nhị phân ảnh 13
Hình 1.10: Lược đồ mức xám của các loại ảnh 14
Hình 1.11: Phóng to ảnh 15
Hình 1.12: Lược đồ xám của ảnh 17
Hình 1.13: Thuật toán tam giác 17
Hình 1.14: Các điểm lân cận gradient 22
Hình 1.15: Làm mảnh chữ 23
Hình 1.16: Căn chỉnh đường biên 24
Hình 2.1: Sơ đồ quá trình nhận dạng chữ 25
Hình 2.2: Làm trơn biên chữ 28
Hình 2.3: Chữ P 31
Hình 2.4 : Qúa trình nhận dang theo cấu trúc 32
Hình 2.5: Điểm kết thúc và chạc ba 34
Hình 3.1: Các thành phần của hệ thống nhận dạng biển số xe trong thực tế 37
Hình 3.2: Biển số xe không giới hạn vùng biển 40
Hình 3.3: Biển số xe không giới hạn vùng biển 41
Hình 3.4: Xác định ngưỡng dựa vào phương pháp quét 43
Hình 3.5 : Xác định vùng chứa biển theo hình thái học 44
Hình 3.6: Xác định vùng chứa biển theo phương pháp kết hợp 44
Trang 4Hình 3.9: Biển số và hình chiếu dọc tương ứng 47
Hình 3.10: Sơ đồ khối thuật toán hiệu chỉnh góc nghiêng 48
Hình 3.11: Hình chiếu ngang vùng chứa biển 49
Hình 3.12: Chia vùng biển theo chiều ngang 49
Hình 3.13: Chiếu dọc 49
Hình 3.14: Dãy ký tự mẫu 50
Hình 3.15: Mã hóa vùng ký tự 51
Hình 3.16: Các ký tự hay gặp lỗi trong quá trình nhận dạng 52
Hình 3.17: Hình chiếu đứng của ký tự 1 và 2 52
Hình 3.18: Quá trình nhận dạng ký tự 54
Hình 3.19: Ảnh bị loá chuyển sang nhị phân 55
Hình 3.20: Lấy lại vùng ký tự không nhận dạng được 55
Trang 5phát triển rất nhanh trên toàn thế giới, sự phát triển của nó thể tính bằng từnggiây, từng phút Các ứng dụng của công nghệ thông tin được sử dụng rộng rãitrong tất cả các lĩnh vực đời sống, khoa học như: y tế, giáo dục, kinh tế, vănhóa…nó góp phần giúp cải thiện đời sống của con người cũng như mang lạinhiều lợi ích và giá trị khác.
Nhận dạng và xử lý ảnh cũng là một trong những bài toán được quantâm, phát triển và có tính ứng dụng thực tế cao Có thể kể ra hàng loạt các ứngdụng đã được áp dụng kỹ thuật nhận dạng ảnh như: xử lý ảnh chụp vệ tinh, dựbáo thời tiết, điều khiển giao thông công cộng, nhận dạng chữ viết tay, phân tíchchữ ký, nhận dạng vân tay, nhận dạng mặt người…Trong số đó, ứng dụng kỹthuật xử lý ảnh trong bài toán nhận dạng biển số xe đã được áp dụng khá thànhcông ở Việt Nam trong vài năm gần đây Hệ thống đã giúp cải thiện đáng kểđược hiệu năng về mặt nhân lực cũng tính tiện lợi….cho các bãi đỗ xe vốn đangtrở nên quá tải ở các thành phố lớn Nó không những mang lại những hiệu quả
về mặt kinh tế mà còn giúp khẳng định vai trò thiết thực của công nghệ thôngtin, tự động hóa ứng dụng trong cuộc sống hằng ngày
Một hệ thống nhận dạng biển số xe trong thực tế là hệ thống tích hợp baogồm cả phần cứng, phần mềm và các hệ ứng dụng khác Trong phạm vi đồ ánnày, Em sẽ tập trung nghiên cứu, ứng dụng các thuật toán để giải quyết bài toán
về xử lý ảnh, hiển thị được nội dung của biển số trên nền ngôn ngữ C#
Em xin gửi lời cảm ơn tới các thầy cô giáo trong khoa Công Nghệ ThôngTin - Trường HVKTQS, gia đình và bạn bè đã động viên, giúp đỡ Em hoànthành đồ án này Đặc biệt, Em xin cảm ơn thầy Tống Minh Đức, thầy trực tiếphướng dẫn và chỉ bảo Em trong suốt quá trình thực hiện đồ án Chắc chắn, sẽcòn rất nhiều thiếu sót trong cuốn đồ án này, Em mong nhận được ý kiến nhậnxét và phản hồi từ các thầy cũng như các bạn !
Trang 6Cặp tọa độ x, y tạo nên độ phân giải (resolution) như màn hình máy tính
có nhiều loại với độ phân giải khác nhau: màn hình CGA có độ phân giải là320x 200, màn hình VGA là 640x350 …
Như vậy, một ảnh là một tập hợp các điểm ảnh Khi được số hóa, nóthường được biểu diễn bởi bảng hai chiều I (n, p): n dòng và p cột Ta nói ảnhgồm n x p pixels Người ta thường ký hiệu I(x, y) để chỉ một pixel Thường giátrị của n chọn bằng p và bằng 256 Một pixel có thể lưu trữ trên 1, 4, 8 hay 24bít
1.1.2 Ảnh.
Tín hiệu ảnh thuộc loại tín hiệu đa chiều: tọa độ(x, y, z), độ sáng (λ), thời), thờigian(t) Ảnh tĩnh trong không gian 2 chiều được định nghĩa là một hàm 2 biến
Trang 7S(x, y), với S là giá trị biên độ (được biểu diễn bằng màu sắc) tại vị trí khônggian (x, y).
+ Ảnh tương tự được chia thành M hàng, N cột
+ Giao của hàng và cột được gọi là: pixel
+ Giá trị biên độ của pixel tại tọa độ nguyên (m, n) là s (m, n): là trung bình độsáng trong pixel đó S (m, n) ≤ L (L số mức xám dùng biểu diễn ảnh) M, Nthường được chọn là M=N=2K (K=8, 9, 10) L =2B, B là số bít mã hóa cho
độ sáng (biên độ) mỗi pixel
Ảnh số được biểu diễn bởi ma trận 2 chiều Các phần tử của nó là biểu diễncho các pixel số hóa
Ta ký hiệu 1 ảnh số là S (M, N) Ta nói ảnh có độ phân giải MxN Ký hiệu S(m, n) để chỉ ra một phần tử ảnh
1.1.3 Mức xám.
Mức xám là kết quả của sự mã hóa tương ứng với một cường độ sáng củamỗi điểm ảnh với một giá trị số, kết quả của quá trình lượng tử hóa Cách mãhóa kinh điển là dùng 16, 32 hay 64 mức Mã hóa 256 mức được dùng phổ biến
Do 28 = 256 nên mỗi pixel được mã hóa bởi 8 bit
Trang 8Với ảnh nhị phân, mỗi pixel được mã hóa trên một bit Còn với ảnh xám
256 mức được mã hóa trên 1 byte = 8 bit Ảnh nhị phân khá đơn giản, các phần
tử ảnh có thể coi như phần tử logic Ảnh nhị phân được dùng theo tính logic, đểphân biệt ảnh với nền hay đơn giản để phân biệt biên với điểm khác
1.1.5 Ảnh màu.
Màu sắc của một tia sáng là cảm giác mà tia sáng đó gây nên ở mắt người.
Màu sắc của vật thể là màu của ánh sáng phát từ chúng Ánh sáng này nằm trongdải phổ nhìn thấy (visible)
Tùy theo ngữ cảnh nhất định mà ảnh màu được diễn tả theo những môhình màu khác nhau Không có mô hình màu nào là đầy đủ cho mọi khía cạnhcủa màu Do đó người ta sử dụng những mô hình màu khác nhau để mô tả cáctính chất được nhận biết khác nhau của màu
Ví dụ:
+ Mô hình màu RGB: ánh sáng Red, Green, Blue ứng dụng cho màn hình TV
+ Mô hình HSV: Nhận thức con người
+ Mô hình CYK: Máy in
Chúng ta đi sâu vào một số mô hình màu sau:
Mô hình màu RGB
Trang 9Theo lý thuyết màu do Thomas đưa ra từ năm 1802, mọi màu đều có thể
tổ hợp từ ba màu cơ bản: Đỏ (Red), Lục (Green), Lam (Blue) Ba màu này là cácmàu cơ bản của hệ màu cộng (Additive Color System) Hệ màu RGB dựa trên
cơ sở hệ thống tọa độ Cartesian – hệ thống tọa độ Decac: mỗi màu cơ bản đềuđược mã hóa bởi 8 bit, vậy với ba màu phối hợp nhau tạo thành 224 =16.777.216 màu thứ cấp mà mắt người có thể cảm nhận được Ảnh màu đượclưu trữ từng màu riêng biệt như ảnh đa cấp xám Ứng với một pixel của ảnh màu
sẽ chiếm 3 byte, do đó ảnh màu sẽ chiếm bộ nhớ gấp ba lần ảnh đa cấp xámcùng kích thước
Hình 1.1: Không gian màu và các màu cơ bản.
Mô hình màu CMY:
Gồm ba màu cơ bản: Xanh Lơ (Cyan), Tím (Magenta), Vàng (Yellow), là
bù màu của không gian màu RGB, còn gọi là hệ màu trừ (Subtractive ColorSystem) Mối quan hệ giữa hai không gian:
C = 1 – R
M = 1 – G
Y = 1 – B
Trang 10Hình 1.2: Các màu cơ bản của hệ màu CMY.
Mô hình màu HSV (Hue, Saturation, Value) :
Dựa trên cảm nhận màu sắc của con người Ánh sáng màu là tổ hợp củaánh sáng đơn sắc Mắt người chỉ có thể cảm nhận được vài chục màu, song lại
có thể phân biệt tới hàng ngàn màu Mô hình HSV suy diễn từ mô hình RGB:hãy quan sát hình hộp RGB theo đường chéo từ White đến Black (gốc) ta cóhình chóp nón, sử dụng làm đỉnh hình nón HSV
Có ba thuộc tính chủ yếu trong cảm nhận màu:
+ Hue: bước sóng của ánh sáng, được biểu diển bằng góc từ 0 – 3600 giúp taphân biệt các màu khác nhau
+ Saturation: độ bão hòa, đo độ tinh khiết của ánh sáng gốc S nằm trongkhoảng [0-1]
+ Value (brightness): cường độ hay độ chói ánh sáng V có giá trị trong khoảng[0-1], V = 0 có màu đen
Mô hình HSV trực giác hơn mô hình RGB Bắt đầu từ Hue (H cho trước vàV=1, S=1) Thay đổi S: bổ sung hay bớt trắng; thay đổi V: bổ sung hay bớtđen đến khi có màu mong muốn
Hình 1.3: Không gian màu HSV
Trang 111.1.6 Các định dạng cơ bản.
Ảnh BMP (Bitmap): Là ảnh được mô tả bởi một ma trận các giá trị số xácđịnh màu và bảng màu của các điểm ảnh tương ứng khi hiển thị Ưu điểmcủa ảnh Bitmap là tốc độ vẽ và tốc độ xử lý nhanh Nhược điểm của nó làkích thước rất lớn Cấu trúc lưu trữ của ảnh BMP:
Windows 3 Bitmap Header
4 Image width in pixels
4 Image height in pixels
2 Number of iImage planes, must be 1
24
4 Compression type
4 Size in byte of compressed image, or 0
4 Horizontal resolution, in pixels/meter
4 Vertical resolution, in pixels/meter
4 Number of colors used
4 Number of “important” colors
4*n Colors palette
Với ảnh 24-bits không có Colors palette
Trang 12Thông tin điểm ảnh lưu trữ ngược với ảnh hiển thị, tức là điểm ảnh ở cuốifile ảnh là điểm ảnh sẽ được hiển thị ở góc trên bên trái màn hình và điểm ảnh ởđầu phần dữ liệu của file ảnh sẽ là điểm ảnh hiển thị ở góc dưới bên phải mànhình.
Quá trình phát triển của kỹ thuật xử lý ảnh tồn tại nhiều định dạng khácnhau từ ảnh đen trắng IMG cho đén ảnh đa cấp xám, ảnh màu: PCX, GIF,JPEG…
Ảnh IMG: là ảnh đen trắng Phần đầu của ảnh IMG có 16 byte chứa cácthông tin cần thiết của ảnh Ảnh IMG được nén theo từng dòng Mỗi dòngbao gồm các gói, các dòng giống nhau cũng được nén thành các gói Toàn bộảnh chỉ gồm có những điểm sáng và điểm tối là các bit 0 hoặc 1
Ảnh PCX: là một trong những định dạng cổ điển nhất Nó sử dụng loạt mãdài RLE để nén dữ liệu ảnh Quá trình nén và giải nén được thực hiện trêntừng dòng ảnh Thực tế phương pháp nén PCX kém hiệu quả hơn kiểu IMG
Ảnh GIF: có lợi về không gian lưu trữ, với ảnh đen trắng kích thước tệp cóthể nhỏ hơn bản gốc từ 5-7 lần; với ảnh 16 màu, kích thước nhỏ hơn ảnh gốc2-3 lần, có trường hợp xấp xỉ ảnh gốc Tuy nhiên với ảnh 256 màu thì nó bộc
lộ khả năng nén rất kém
Trang 13 Ảnh JPEG: sử dụng chuẩn nén cho ảnh tone liên tục Tiêu chuẩn này có thểđược ứng dụng trong nhiều lĩnh vực: lưu trữ ảnh, truyền bá báo chí, ảnh yhọc, camera số.
1.2 Một số kỹ thuật tiền xử lý ảnh
1.2.1 Chuyển ảnh xám
Ảnh là tập hợp từ rất nhiều điểm ảnh Với ảnh 24 bít của hệ màu RGB doCIE đề xuất thì mỗi thành phần màu cấu tạo nên điểm ảnh có giá trị thể hiện bởi
8 bít (tức là có 256 giá trị) Mô hình màu RGB sử dụng mô hình bổ sung trong
đó ánh sáng đỏ, xanh lá cây và xanh lam được tổ hợp với nhau theo nhiềuphương thức khác nhau để tạo thành các màu khác nhau Đối với ảnh xám,thông thường mỗi pixel mang thông tin của 256 mức xám (tương ứng với támbít) như vậy ảnh xám hoàn toàn có thể tái hiện đầy đủ cấu trúc của một ảnh màutương ứng thông qua tám mặt phẳng bít theo độ xám
Bước chuyển từ ảnh màu thành ảnh xám là một công đoạn phổ biến trongcác quá trình xử lý ảnh vì nó làm tăng tốc độ xử lý, giảm mức độ phức tạp củacác thuật toán trên ảnh Để chuyển về ảnh đa cấp xám, ta cần làm cho 3 thànhphần R,G,B bằng nhau theo cách sau:
G=αR+βG+γB với điều kiện α+β+γ=1R+βG+γB với điều kiện α+β+γ=1βG+γB với điều kiện α+β+γ=1G+βG+γB với điều kiện α+β+γ=1γB với điều kiện α+β+γ=1B với điều kiện αR+βG+γB với điều kiện α+β+γ=1+βG+γB với điều kiện α+β+γ=1βG+γB với điều kiện α+β+γ=1+βG+γB với điều kiện α+β+γ=1γB với điều kiện α+β+γ=1=1Trong đó các giá trị R,G,B lần lượt là các mức độ màu Đỏ, Xanh lá vàXanh biển của pixel màu
Ảnh kết quả
Trang 14Đó chính là hiện tượng nhiễu Như vậy nhiễu trong ảnh số được xem như sựdịch chuyển nhanh của tín hiệu thu nhận trên một khoảng cách ngắn Xem xétmột cách tương đương trong không gian tần số, nhiễu ứng với các thành phầntần số cao trong ảnh Do vậy, người ta nghĩ đến việc biến đổi có tính đến ảnhhưởng của các phần tử lân cận bằng cách lấy “tổ hợp” các điểm lân cận này(trong không gian thực) hay lọc các thành phần tần số cao (trong không gian tầnsố) Đây chính là kỹ thuật lọc
Trong kỹ thuật này, ta sử dụng một mặt nạ di chuyển khắp ảnh gốc Tuỳtheo cách tổ hợp điểm đang xét với các điểm lân cận mà có kỹ thuật lọc tuyếntính hay phi tuyến Điểm ảnh chịu tác động là điểm ở tâm mặt nạ
Bộ lọc tuyến tính
Trong kỹ thuật lọc tuyến tính, ảnh thu được sẽ là tổng trọng số hay làtrung bình trọng số các điểm lân cận với nhân cuộn hay mặt nạ.Vì có nhiều loạinhiễu can thiệp vào quá trình xử lý ảnh nên cần có nhiều bộ lọc thích hợp Đểlàm trơn nhiễu ta sử dụng các mặt nạ thông thấp
Trang 15sổ lọc.
Sơ lược một cách ngắn gọn các bước của giải thuật:
Quét cửa sổ lọc lần lượt lên các thành phần của ảnh đầu vào; điền các giá trị được quét vào cửa sổ lọc
Xử lý bằng cách thao tác trên các thành phần của cửa sổ lọc
Tính giá trị trung bình các thành phần trong cửa sổ lọc
Gán giá trị trung bình này cho ảnh đầu ra
Nhận xét: Đây là mạch lọc tuyến tính đơn giản trong tính toán Ảnh đạt độtrơn mịn Tuy vậy, nó không hoàn toàn loại bỏ tác dụng của nhiễu, các pixel đơn
lẻ (nhiễu) sẽ ảnh hưởng đến giá trị trung bình của các pixel lân cận Nó cũnglàm cho độ sắc nét của ảnh kém cũng như độ tương phản thấp
Ảnh kết quả:
Trang 16Ảnh gốc Ảnh lọc trung bình
Hình 1.6: Lọc trung bình
Lọc tuyến tính ngoài làm trơn nhiễu còn có thể trích chọn biên(nổi biên) Dễ dàng nhận thấy rằng biên là điểm có độ biến thiên nhanh về giátrị mức xám Theo quan điểm về tần số tín hiệu, các điểm biên ứng với cácthành phần tần số cao Do vậy, ta có thể dùng bộ lọc thông cao để cải thiện:lọc các thành phần tần số thấp và chỉ giữ lại thành phần tần số cao Vì thế, lọcthông cao thường được dùng làm trơn biên trước khi tiến hành các thao tác vớibiên ảnh Dưới đây là một số mặt nạ dùng trong lọc thông cao:
Trang 17+βG+γB với điều kiện α+β+γ=1 Hữu ích cho việc loại bỏ các điểm ảnh hay các hàng mà vẫn bảo toàn
nửa số điểm trong cửa sổ
Ảnh kết quả:
Ảnh gốc Ảnh lọc trung vi
Hình 1.8: Lọc trung vị
1.2.3 Nhị phân ảnh.
Phân ngưỡng hay còn gọi là nhị phân hóa Mục đích của phân ngưỡng làchuyển từ ảnh mầu, ảnh đa cấp xám sang ảnh nhị phân (ảnh 2 cấp xám, ảnh đentrắng) Nếu phân ngưỡng hợp lý thì có thể phân biệt được vật thể với nền Từ đóảnh hưởng lớn đến các thao tác lựa chọn vật thể đúng hay lẫn cả vào với nền
Giả sử đã chọn được một ngưỡng L thích hợp Ta thực hiện việc sau:
Nếu điểm ảnh có mức xám cao hơn ngưỡng L thì đặt cho nó giá trị 255
Nếu ngược lại thì đặt giá trị 0
Từ đó ta thấy rõ ánh xạ của ảnh mới chính là 1 ánh xạ sang ảnh nhịphân có 2 giá trị 0 và 1 (1 tương ứng với 255)
Có nhiều phương pháp để xác định giá trị ngưỡng Một phương pháp làthiết lập ngưỡng sao cho số lượng các điểm đen đạt một ngưỡng chấp nhận đượctheo phân phối xác suất mức xám Ví dụ, chúng ta có thể biết rằng các ký tựchiếm 25% diện tích của một trang văn bản thông thường Vì thế chúng ta có thểthiết lập ngưỡng sao cho số lượng điểm đen còn lại chiếm ¼ trang văn bản Một
Trang 18cách tiếp cận khác là chọn ngưỡng nằm ở vị trị thấp nhất trên biểu đồ histogramgiữa hai đỉnh của nó Tuy nhiên việc xác định vị trí này thường rất khó khăn dohình dạng của histogram thường lởm chởm Một giải pháp để giải quyết vấn đềnày là xấp xỉ giá trị của histogram giữa hai đỉnh với một hàm giải tích và sửdụng vi phân để xác định điểm thấp nhất Ví dụ, coi x và y lần lượt là hoành độ
và tung độ trên histogram Chúng ta có thể sử dụng hàm: y=ax2 +βG+γB với điều kiện α+β+γ=1 bx +βG+γB với điều kiện α+β+γ=1 c Với a,
b, c là hằng số làm hàm xấp xỉ đơn giản cho histogram ở vị trí giữa hai đỉnh của
nó Vị trí thấp nhất sẽ có tọa độ x=-b/2a
Phương pháp xấp xỉ các giá trị của histogram và tìm vị trí thấp nhất chogiá trị ngưỡng tốt hơn nhưng lại yêu cầu tài nguyên về tính toán để thực hiện độphức tạp trong việc cài đặt Phương pháp tìm ngưỡng theo phân phối xác suấtđơn giản hơn và kết quả của nó tương đối đáp ứng được các yêu cầu cho việcnhận dạng
Ảnh kết quả:
Ảnh gốc Ảnh nhị phân
Hình 1.9: Nhị phân ảnh
1.2.4 Lược đồ mức xám (Histogram):
Lược đồ mức xám là một hàm cung cấp tần suất xuất hiện của mỗi mức
xám (gray-level) trong ảnh Biễu diễn toán học của histogram của một ảnh số cóL=256 mức xám là một hàm rời rạc :
Trang 19Miền giá trị của.p f ( ) [0,1]k
Một cách biễu diễn toán học khác của histogram của một ảnh là số lầnxuất hiện của mỗi mức xám:
Hình 1.10: Lược đồ mức xám của các loại ảnh.
Nhìn và biểu đồ trên ta nhận thấy rằng: nếu ảnh tối thì mức xám sẽ tậptrung ở gần gốc tọa độ
Ảnh có độ tương phản thấp
Ảnh có độ tương phản cao
Trang 201.2.5 Phóng to, thu nhỏ ảnh.
Còn được gọi là sự chia lại thang tọa độ Khi chia thang tọa độ gốc vàhướng được giữ nguyên, chia thang tiến hành với hệ số chia thang Sx, Sy và cáctọa độ mới được tính toán theo công thức:
1.2.6 Kỹ thuật phân vùng đối tượng.
Phân vùng ảnh là bước quan trọng của xử lý ảnh, giai đoạn này nhằmphân tích ảnh thành những thành phần có cùng tính chất nào đó dựa theo biênhay các vùng liên thông
Vùng ảnh là một chi tiết, thực thể trong toàn cảnh, vùng ảnh nói lên tínhchất bề mặt của ảnh, vùn ảnh được bao quanh bởi một biên, các điểm trongvùng ảnh có độ biến thiên giá trị mức xám tương đối đồng đều Dựa vào đặc
Trang 21tính vật lý của vùng ảnh mà ta xác định nhiều kỹ thuật phân vùng Một sốphương pháp phân vùng chính như:
Dựa trên sự phân lớp hay lấy ngưỡng
Dựa trên cấu trúc
Dựa trên đường biên
1.2.6.1 Phân vùng ảnh dựa trên phương pháp phân lớp
Kỹ thuật này thích hợp với ảnh nhị phân như văn bản, ảnh X-quang Giả sử ta có T0=Tmin, T1, T2…Tn ngưỡng giá trị xám thì ảnh sẽ đượcchia làm (N-1) vùng như sau: điểm ảnh I(m,n) thuộc vùng Cinếu Ti-1<=I(m,n) < Ti.Do đó việc chọn ngưỡng ở đây là bước rất quan trọng Kỹ thuậtlấy ngưỡng không nhất thiết phải được áp dụng cho toàn bộ ảnh, mà có thể ápdụng cho từng vùng ảnh một Các giá trị ngưỡng được tính riêng biệt cho từngvùng một và sau đó được kết hợp lại thông qua phép nội suy để hình thành nênmột mặt ngưỡng cho toàn bộ ảnh Trong thuật toán mới này, kích thước của cácvùng cần được chọn một cách thích hợp sao cho có một lượng đáng kể các điểmảnh ở trong một vùng, nhằm phục vụ cho việc tính lược đồ và xác định
*Xác định ngưỡng dựa trên biểu đồ Histogram
Các bước chọn ngưỡng như sau:
Xem xét lược đồ xám của ảnh để xác định các ngưỡng và các khe, nếuảnh có dạng hình rắn lượn (nhiều đỉnh và khe) thì các khe cỏ thể chọnlàm ngưỡng
Chọn ngưỡng t sao cho có một phần xác định trước của mẫu là nhỏ hơn t
Điều chỉnh ngưỡng dựa trên lược đồ xám của các điểm lân cận
Trang 22 Xác định ngưỡng dựa trên thuật toán tam giác
Thuật toán này do Zack đưa ra và được minh họa trong hình dưới
Hình 1.13: Thuật toán tam giác
Trong hình này, chúng ta có thể quan sát thấy một đường thẳng đã đượcxây dựng bằng cách nối từ giá trị lớn nhất của lược đồ tại độ sáng đến giá trị nhỏnhất của lược đồ sáng bmin Với mỗi độ sáng b trong khoảng [bmax, bmin],
Trang 23chúng ta đi tính khoảng cách d từ giá trị lược đồ tại b là h[b] đến đường thẳng đã
có Giá trị bo ứng với khoảng cách lớn nhất sẽ được chọn làm giá trị ngưỡng ϴ.[3]
Xác định ngưỡng dựa trên thuật toán ISODATA
Kỹ thuật chọn ngưỡng theo kiểu lặp này do Ridler và Calvard đưa ra
Thuật toán được mô tả như sau:
- Bước 1: chia lược đồ thành 2 đoạn bằng một giá trị ngưỡng khởi động ϴ= (Lmin +βG+γB với điều kiện α+β+γ=1 Lmax)/2
Lmin, Lmax: Giá trị mức xám nhỏ nhất, lớn nhất của vùng ảnh
- Bước 2: tính giá trị xám trung bình của hai vùng được phân chia theo
ngưỡng ϴ ta được L1 và L2 Xét giá trị ngưỡng mới:
ϴ1= (L1 +βG+γB với điều kiện α+β+γ=1 L2)/2
Quá trình này cứ thế sẽ được tiếp tục với các ngưỡng mới cho đến khinào giá trị ngưỡng không thay đổi nữa thì dừng lại
1.2.6.2 Phân vùng ảnh dựa trên cấu trúc
Trên thực tế người ta hay sử dụng trung bình số học mi và độlệch chuẩn I cho vùng R có ni điểm:
Tách vùng theo cây tứ phân phương pháp này ta sử dụng một cây tứ phân
để đánh dấu các vùng, mỗi nút trong cây được gán nhãn duy nhất, quátrình tách vùng diễn ra như sau:
Trang 24+βG+γB với điều kiện α+β+γ=1 Gốc của cây tương ứng với ảnh ban đầu.
+βG+γB với điều kiện α+β+γ=1 Nếu một nút của cây chưa là vùng đồng nhất thì chia tiếp làm 4 vùngcon, quá trình chia chỉ dừng lại khi tất cả các nút lá đều là vùng đồng nhất hoặckhông thể chia được nữa
+βG+γB với điều kiện α+β+γ=1 Giá trị xám tại mỗi nút là giá trị xám trung bình của vùng
Hợp vùng
Ý tưởng của phương pháp là xét ảnh từ các miền nhỏ nhất rồi hợp chúnglại nếu thỏa mãn tiêu chuẩn để được một miền đồng nhất lớn hơn Tiếp tục vớicác miền thu được cho đến khi không thể hợp thêm được nữa Số miền còn lạicho ta kết quả phân đoạn Như vậy, miền nhỏ nhất của bước xuất phát là điểmảnh Phương pháp này hoàn toàn ngược với phương pháp tách Song điều quantrọng ở đây là nguyên lý nối 2 vùng Việc nối 2 vùng được thực hiện theonguyên tắc sau :
- Hai vùng phải đáp ứng tiêu chuẩn, ví dụ như cùng mức xám
- Hai vùng phải kề cận nhau
Dựa theo nguyên lý của phương pháp hợp, ta có 2 thuật toán :
- Thuật toán tô màu (Blob Coloring) : sử dụng khái niệm 4 liên thông, dùng một cửa sổ di chuyển trên ảnh để so sánh với tiêu chuẩn nối
- Thuật toán đệ quy cục bộ: sử dụng phương pháp tìm kiếm trong mộtcây để làmtăng kích thướcvùng
Phương pháp tổng hợp
Hai phương pháp trên tuy thực hiện nhanh nhưng có những nhượcđiểm, ở phương pháp chia sẽ phân mảnh ảnh quá chi tiết, còn phương pháp hợpcho phép giảm số vùng xuống tối thiểu nhưng cấu trúc vùng dàn trải khôngcho ta thấy rõ được liên hệ của các miền Do đó ta đưa ra thuật toán kết hợp giữa
2 phương pháp trên
Trang 25Bước 1: Tiến hành chia ảnh theo cây tứ phân.
Bước 2: Ta xét các vùng liền kề đã được chia trong bước 1, nếu thỏa mãn
điều kiện hợp vùng thì tiến hành hợp vùng và tính toán lại giá trị xám cho vùngmới
Ta xét ví dụ sau
Trang 26
1.2.6.3 Phân vùng dựa vào đường biên
Việc phân đoạn ảnh dựa vào biên được tiến hành qua một số bước:
- Phát hiện và làm nổi biên
- Làm mảnh biên
- Nhị phân hóa đường biên
- Mô tả biên
*Phát hiện và nổi biên
Nhị phân hóa đường biên
Nhị phân hóa đường biên là giai đoạn then chốt trong quá trình chíchchọn vì nó xác định đường bao nào thực sự cần và đường bao nào có thể loại bỏ
Ta thường nhị phân hóa đường biên theo cách thức làm giảm nhiễu hoặc tránhhiện tượng kéo sợi trên ảnh Điều này cũng giải thích tại sao phân vùng hợpngược lại, có thể sẽ bị mất một phần đường bao hay đường bao có chân, khôngkhép kín Một phương pháp hay được dùng là chọn ngưỡng thích nghi.Với cách này, ngưỡng sẽ phụ thuộc vào hướng của gradient nhằm làm giảm sựxoắn của biên độ Lúc đầu ta định ra một ngưỡng nào đó và sau đó sử dụng hệ
Trang 27số sinh thích nghi thông qua lời giải toán tử đạo hàm theo hướng tìm được đểtinh chỉnh.
Làm mảnh biên
Làm giảm hay mảnh biên thực chất là làm nổi biên với độ rộng chỉ1pixel Theo kỹ thuật gradient, những điểm cực trị cục bộ có thể coi như biên
Do vậy cần tách biệt những điểm cực trị đó để xách định chính xác biên ảnh và
để giảm độ rộng biên ảnh.Một phương pháp hay dùng trong làm mảnh biên chữ
là phương pháp “Loại bỏ các điểm không cực đại” Với mỗi điểm ảnh I(x, y), taxác định các điểm lân cận của nó theo hướng gradient I(x1, y1) và I(x2, y2)
Hình 1.14: Các điểm lân cận gradient
Nếu I(x, y) lớn hơn cả I(x1, y1) và I(x2, y2) giá trị của I(x, y) sẽ đ ượcbảo toàn Nếu không nó sẽ bị loại bỏ
Ngoài thuật toán trên còn nhiều kỹ thuật làm mảnh biên như kỹ thuậtmảnh biên chữ do Sherman đề xuất sau đó được Fraser cải tiến cho ảnh nhịphân Kỹ thuật này có thể mô tả tóm tắt như sau:
- Gọi I(x,y) là một pixel Ik(k=1 8) là các pixel lân cận theo 8 lánggiềng của I
- Ta xóa được I nếu thỏa mãn các điều kiện sau đây:
+βG+γB với điều kiện α+β+γ=1 I là điểm ảnh
Trang 28+βG+γB với điều kiện α+β+γ=1 2≤ số lân cận là điểm ảnh của I < 6; I2*I4*I8=0
- Tuy nhiên có một số ngoại lệ do nếu xóa I sẽ gây phân đoạn
Ảnh gốc Ảnh làm mảnh
Hình 1.15: Làm mảnh chữ
Miêu tả đường biên
Khi đã có bản đồ biên của ảnh, ta cần phải biểu diễn nó dưới dạng thíchhợp phục vụ cho việc phân tích và làm giảm lượng thông tin dùng để miêu tả đốitượng Nguyên tắc chủ yếu là tách biệt mỗi biên và gán mã.Quá trình miêu tảbiên đối tượng là khá rộng vì có nhiều phương án khác nhau và mỗi phương
án có liên quan mật thiết với các đặc thù của từng ứng dụng Việc tách biệtđường bao có thể được tăng cường thêm các điều kiện nhằm loại bỏ các đườngbao không khép kín hoặc khép kín nhờ phương pháp ngoại suy, hay bỏ đi cácchân rết bám theo các đường bao kín
Trang 29Hình 1.16: Căn chỉnh đường biên
Việc mã hóa đường bao có thể thực hiện theo nhiều cách khác nhau Cóthể dùng biểu diễn chính xác đường bao hay xấp xỉ nhờ nội suy Thông thườngcác cấu trúc cơ sở mã hóa đường bao gồm 4 loại: điểm, đoạn thẳng, cung vàđường cong.Tuy nhiên, cũng cần lưu ý giữa độ phức tạp tính toán và khả năngbiểu diễn ảnh của cách mã hóa thông tin Biểu diễn đường bao bởi các điểm nóichung không phức tạp song lại rất nghèo nàn về cấu trúc và không cô đọng vì taphải mô tả tất cả các điểm trên biên.Trong khi đó, biểu diễn bằng đường cong đathức bậc cao làm tăng đọ phức tạp tính toán, song bù lại cấu trúc dữ liệu lại rất
cô đọng
Trang 302.1 Sơ đồ tổng quát của một hệ nhận dạng chữ
Về cơ chế, một hệ thống nhận dạng chữ thường gồm các khối chính, phùhợp với các giai đoạn xử lý sau:
Trang 31Hình 2.17: Sơ đồ quá trình nhận dạng chữ
*Giai đoạn xử lý sơ bộ
Đây là giai đoạn quan trọng ảnh hưởng đế kết quả nhận dạng Tuỳthuộc vào chất lượng ảnh được quét mà ta tiến hành các thủ tục xử lý khácnhau Vì quá trình xử lý sơ bộ có thể làm chậm tốc độ xử lý của hệ thống nênnếu ảnh quét vào là tốt, ta có thể bỏ qua bước này Xử lý sơ bộ thường gồm cácbước sau:
Trang 32Đôi khi chất lượng quét quá tồi, các đường biên chữ không còn dáng vẻtrơn tru như ban đầu mà hình thành các đường răng cưa Trong trường hợp nàyphải áp dụng một số kỹ thuật để làm trơn biên chữ, lấp đầy các chỗ trống, xoá đicác điểm giả tạo trên biên Hai kỹ thuật hay được sử dụng là kỹ thuật Unger và
kỹ thuật Dineen
Kỹ thuật Dineen dùng một mặt nạ n x n di chuyển trên tất cả các vị trícủa ảnh mẫu Một mẫu mới được tạo ra, trong đó mỗi phần tử tại tâm cửa sổ sẽđược tính lại theo các phần tử lân cận Nếu tổng số các phần tử trong cửa sổlớn hơn ngưỡng nào đó thì trong mẫu mới, vị trí tương ứng sẽ đen; 40ngược lại là trắng Kích thước cửa sổ thường chọn là 3 x 3 hay 4 x 4 Thực tế kỹthuật Dineen là dùng trung bình trọng số
Kỹ thuật Unger sử dụng một tập luật để lấp các chỗ trống trên ảnh:Mộtđiểm trên mẫu mới là đen nếu và chỉ nếu thoả 1 trong 2 điều kiện sau:
Để loại bỏ các điểm sáng cô lập trên biên sau khi đã lấp đầy chỗ trống, Ungerlại dùng một bộ luật áp dụng cho các phần tử trong phạm vi cửa sổ nxn
Tập luật này được mô tả như sau: một điểm trên mẫu mới là đen nếu và chỉnếu giá trị của nó bằng 1 và thoả một trong hai điều kiện:
P là điểm đen
Có ít nhất 3 trong 4 láng giềng: P3, P2, P6, P8 là đen
Để loại bỏ các điểm sáng cô lập trên biên sau khi đã lấp đầy chỗ trống, Ungerlại dùng một bộ luật áp dụng cho các phần tử trong phạm vi cửa sổ nxn
Tập luật này được mô tả như sau: một điểm trên mẫu mới là đen nếu và chỉnếu giá trị của nó bằng 1 và thoả một trong hai điều kiện:
Có ít nhất 1 trong 3 phần tử : P3, P2, P4 là đen
Có ít nhất 1 trong 3 phần tử : P6, P7, P8 là đen.hay:
Có ít nhất 1 trong 3 phần tử : P6, P5, P4 là đen
Trang 342.2 Giai đoạn tách chữ
Sau giai đoạn xử lý sơ bộ, văn bản (ảnh) đã được tăng cường, ta chuyểnsang giai đoạn tách chữ Chỉ có thể nhận dạng đúng nếu chữ đã đượctáchnkhỏi văn bản Có nhiều thuật toán tách chữ từ đơn giản đến phức tạp ápdụng cho các font chữ khác nhau: tách chữ theo chiều ngang - đứng và táchchữ theo theo lược đồ xám
a/ Tách chữ theo chiều ngang và đứng
Với chữ in thường và in hoa, do quy cách ấn loát luôn nằm trọn trongmột ô nào đó Như vậy, quá trình tách chữ đồng nhất với việc tìm ra khuôn chữtại vị trí của nó trong văn bản Quá trình này gọi là tách chữ theo hình chữ nhật(ngang và đứng) bao quanh ký tự Thao tác này đơn giản và nhanh Tuy nhiênkhông thể áp dụng với mọi font chữ
b/ Tách chữ theo lược đồ xám
Khi máy quét tốt và đối với một số font, các dòng trong văn bản đượcphân cách khá tốt, việc tìm ra đường phân ranh giữa 2 dòng là khá dễ Songthực tế luôn không phải là dễ nhất là với chữ Việt có dấu, các dòng có thể dínhhay chữ bị nhoè
Trong trường hợp này, đường phân ranh được hiểu là đường có ít điểm cắtnhất Như vậy cần xây dựng lược đồ xám cho các dòng chữ và đường nằmngang tại đáy của thung lũng lược đồ cần tìm Kỹ thuật này có thể áp dụng chonhận dạng chữ hoa
2.3 Một số thuật toán nhận dạng chữ in
Nhận dạng chữ sau khi đã tách khỏi từ là giai đoạn quan trọng nhất vàcũng là mục đích của các hệ nhận dạng chữ viết Mỗi loại chữ có những đặcđiểm riêng nên các kỹ thuật áp dụng cũng khác nhau