Tải bản đầy đủ (.doc) (33 trang)

NHẬN DIỆN BIỂN Số XE DÙNG MATLAB ( CÓ CODE bên dưới )

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (495.03 KB, 33 trang )

ĐỒ ÁN 3

NHẬN DIỆN BIỂN SỐ XE DÙNG
MATLAB

MỤC LỤC
DANH MỤC HÌNH ẢNH....................................................................................................I
DANH MỤC BẢNG BIỂU................................................................................................II
CHƯƠNG 1. GIỚI THIỆU.................................................................................................1
CHƯƠNG 2. CƠ SỞ LÝ THUYẾT....................................................................................6
CHƯƠNG 3. GIẢI THUẬT..............................................................................................15
CHƯƠNG 4. MÔ PHỎNG VÀ KẾT QUẢ......................................................................22
CHƯƠNG 5. KẾT LUẬN..................................................................................................26
TÀI LIỆU THAM KHẢO................................................................................................27
PHỤ LỤC...........................................................................................................................28

DANH MỤC HÌNH ẢNH

HÌNH 1-1 CÁC BƯỚC CƠ BẢN TRONG MỘT HỆ THỐNG XỬ LÝ ẢNH................3
HÌNH 2-2 XỬ LÝ ẢNH TRONG MATLAB.....................................................................8


HÌNH 4-3 ẢNH RGB BAN ĐẦU......................................................................................22
HÌNH 4-4 NHỊ PHÂN HÓA ẢNH....................................................................................22
HÌNH 4-5 LẮP KHOẢNG TRỐNG CÁC ĐỐI TƯỢNG...............................................22
HÌNH 4-6 TẠO KHUNG VIỀN CHO CÁC KÝ TỰ.......................................................23
HÌNH 4-7 THU HẸP VÙNG ĐỐI TƯỢNG.....................................................................23
HÌNH 4-8 XUẤT KÝ TỰ DƯỚI DẠNG TEXT..............................................................23
HÌNH 4-9 BIỂN SỐ XE 57F-77872..................................................................................23
HÌNH 4-10 SAU KHI TẠO KHUNG VIỀN CHO BIỂN SỐ 51F-83838......................24
HÌNH 4-11 BIỂN SỐ 51F-83838.......................................................................................24


HÌNH 4-12 SAU KHI TẠO KHUNG VIỀN CHO BIỂN SỐ 51F-83838......................24
..................................................................................................................................................

DANH MỤC BẢNG BIỂU

BẢNG 3-1 CẤU TRÚC HÌNH CHỮ NHẬT 2*6.............................................................16
BẢNG 3-2 CẤU TRÚC DẠNG ĐĨA CÓ BÁN KÍNH LÀ 3...........................................17
BẢNG 3-3 SƠ ĐỒ KHỐI...................................................................................................18
BẢNG 4-4 KẾT QUẢ MÔ PHỎNG MỘT SỐ BIỂN SỐ...............................................25

DANH MỤC TỪ VIẾT TẮT
RGB

Red, Green, Blue

CGA

Color Graphic Adaptor

CMYK

Cyan, Magenta, Yellow, Key


ĐỒ ÁN 3
Trang 1/30

CHƯƠNG 1. GIỚI THIỆU
1.1 Giới thiệu đề tài
Các thuật toán phát hiện biển số xe khác nhau đã được phát triển trong vài

năm qua. Mỗi thuật toán có những lợi thế và bất lợi riêng của nó. Thuật toán Arth
mô tả phương pháp trong đó biển số được phát hiện bằng các dự đoán có quan hệ
với nhau .Có thể đánh dấu, phát hiện một biển số tại nhiều thời gian và địa điểm
khác nhau ,phương pháp được áp dụng để tổng hợp tất cả các khu vực phát hiện.
Ngoài ra, để theo dõi tại khu vực tìm kiếm nhất định trong một hình ảnh. Thuật toán
Kwasnicka cho thấy một phương pháp phát hiện khác sử dụng nhị phân hóa và loại
bỏ các vùng không cần thiết từ một hình ảnh. Trong phương pháp này, xử lý hình
ảnh ban đầu và nhị phân hóa một hình ảnh được thực hiện ra dựa trên sự tương phản
giữa các nhân vật và bối cảnh trongbiển số. Sau nhị phân hóa hình ảnh, nó được
chia thành các vùng màu đen và trắng khác nhau. các khu vực này được chuyển qua
giai đoạn loại bỏ để có được những khu vực chính xác có khả năng nhất chứa một
biển số.
1.2 Tổng quan về xử lý ảnh
1.2.1 Khái niệm
Xử lý ảnh là một lĩnh vực mang tính khoa học và công nghệ. Nó là một ngành
khoa học mới mẻ so với nhiều ngành khoa học khác nhưng tốc độ phát triển của nó
rất nhanh, kích thích các trung tâm nghiên cứu, ứng dụng, đặc biệt là máy tính
chuyên dụng riêng cho nó.
Xử lý ảnh được đưa vào giảng dạy ở bậc đại học ở nước ta khoảng chục năm
nay. Nó là môn học liên quan đến nhiều lĩnh vực và cần nhiều kiến thức cơ sở khác.
Đầu tiên phải kể đến Xử lý tín hiệu số là một môn học hết sức cơ bản cho xử lý tín
hiệu chung, các khái niệm về tích chập, các biến đổi Fourier, biến đổi Laplace, các

Nhận diện biển số xe


ĐỒ ÁN 3
Trang 2/30

bộ lọc hữu hạn… Thứ hai, các công cụ toán như Đại số tuyến tính, Sác xuất, thống

kê. Một số kiến thứ cần thiết như Trí tuệ nhân tao, Mạng nơ ron nhân tạo cũng được
đề cập trong quá trình phân tích và nhận dạng ảnh.
Các phương pháp xử lý ảnh bắt đầu từ các ứng dụng chính: nâng cao chất
lượng ảnh và phân tích ảnh. Ứng dụng đầu tiên được biết đến là nâng cao chất
lượng ảnh báo được truyền qua cáp từ Luân đôn đến New York từ những năm 1920.
Vấn đề nâng cao chất lượng ảnh có liên quan tới phân bố mức sáng và độ phân giải
của ảnh. Việc nâng cao chất lượng ảnh được phát triển vào khoảng những năm
1955. Điều này có thể giải thích được vì sau thế chiến thứ hai, máy tính phát triển
nhanh tạo điều kiện cho quá trình xử lý ảnh sô thuận lợi. Năm 1964, máy tính đã có
khả năng xử lý và nâng cao chất lượng ảnh từ mặt trăng và vệ tinh Ranger 7 của Mỹ
bao gồm: làm nổi đường biên, lưu ảnh. Từ năm 1964 đến nay, các phương tiện xử
lý, nâng cao chất lượng, nhận dạng ảnh phát triển không ngừng. Các phương pháp
tri thức nhân tạo như mạng nơ ron nhân tạo, các thuật toán xử lý hiện đại và cải tiến,
các công cụ nén ảnh ngày càng được áp dụng rộng rãi và thu nhiều kết quả khả
quan.
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.
Ả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. Sơ đồ tổng quát của một hệ
thống xử lý ảnh:

Nhận diện biển số xe



ĐỒ ÁN 3
Trang 3/30

Hình 1-1 Các bước cơ bản trong một hệ thống xử lý ảnh

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

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

* Ảnh và điểm ảnh:
Điểm ảnh được xem như là dấu hiệu hay cường độ sáng tại 1 toạ độ trong không
gian của đối tượng và ảnh được xem như là 1 tập hợp các điểm ảnh.
* Mức xám, màu
Là số các giá trị có thể có của các điểm ảnh của ảnh
1.3 Giới thiệu khái quát về ảnh số
1.3.1 Các khái niệm cơ bản về ảnh
Ảnh số là tập hợp hữu hạn các điểm ảnh với mức xám phù hợp dùng để mô
tả ảnh gần với ảnh thật. Số điểm ảnh xác định độ phân giải của ảnh. Ảnh có độ phân
giải càng cao thì càng thể hiện rõ nét các đặt điểm của tấm hình càng làm cho tấm
ảnh trở nên thực và sắc nét hơn.
1.3.1.1

Điểm ảnh (Picture Element)

Điểm ảnh (Pixel) là một phần tử của ảnh số tại toạ độ (x, y) với độ xám hoặc
màu nhất định. Kích thước và khoảng cách giữa các điểm ảnh đó được chọn thích
hợp sao cho mắt người cảm nhận sự liên tục về không gian và mức xám (hoặc màu)
của ảnh số gần như ảnh thật. Mỗi phần tử trong ma trận được gọi là một phần tử

ảnh.

Nhận diện biển số xe


ĐỒ ÁN 3
Trang 4/30

1.3.1.2

Mức xám của ảnh

Mức xám: 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. Lý do: từ kỹ thuật máy
tính dùng 1 byte (8 bit) để biểu diễn mức xám. Mức xám dùng 1 byte biểu diễn: 28
=256 mức, tức là từ 0 đến 255).
1.3.1.3

Độ phân giải của ảnh

Định nghĩa: Độ phân giải (Resolution) của ảnh là mật độ điểm ảnh được ấn
định trên một ảnh số được hiển thị.
Theo định nghĩa, khoảng cách giữa các điểm ảnh phải được chọn sao cho mắt người
vẫn thấy được sự liên tục của ảnh. Việc lựa chọn khoảng cách thích hợp tạo nên một
mật độ phân bổ, đó chính là độ phân giải và được phân bố theo trục x và y trong
không gian hai chiều.
Ví dụ: Độ phân giải của ảnh trên màn hình CGA (Color Graphic Adaptor) là
một lưới điểm theo chiều ngang màn hình: 320 điểm chiều dọc * 200 điểm ảnh

(320*200). Rõ ràng, cùng màn hình CGA 12” ta nhận thấy mịn hơn màn hình CGA
17” độ phân giải 320*200. Lý do: cùng một mật độ (độ phân giải) nhưng diện tích
màn hình rộng hơn thì độ mịn (liên tục của các điểm) kém hơn.
1.3.2

Các cách phân loại ảnh
Ảnh nhị phân: Giá trị xám của tất cả các điểm ảnh chỉ nhận giá trị 1 hoặc 0

như vậy mỗi điểm ảnh trong ảnh nhị phân được biểu diễn bởi 1 bit. Ảnh xám: Giá
trị xám nằm trong [0, 255] như vậy mỗi điểm ảnh trong ảnh nhị phân được biểu
diễn bởi 1 byte.
Ảnh màu:
– Hệ màu RGB:

Nhận diện biển số xe


ĐỒ ÁN 3
Trang 5/30

Một pixel được biểu diễn bằng 3 giá trị (R, G, B) trong đó R, G, B là một giá trị
xám và được biểu biểu diễn bằng 1 byte. Khi đó ta có một ảnh 24 bits.
P(x, y) = (R, G, B)
– Hệ màu CMY: là phần bù của hệ màu RGB
(C, M, Y) = (1, 1, 1) – (R, G, B)
Hay C+R=M+G=Y+B=1
=> Hệ màu này thường được dùng trong máy in.
– Hệ màu CMYK: trong đó K là độ đậm nhạt của màu K= min(C, M, Y)
P(x, y) = (C-K, M-K, V-K, K).
Ví dụ:

Với (C1, M1, Y1) ta sẽ có K=min(C1, M1, Y1)
vậy CMYK=(C1-K, M1-K, Y1-K, K)

1.4 Cấu trúc biển số xe Việt Nam
Theo quy đinh của pháp luật (THÔNG TƯ SỐ 37/2010/TT-BCA NGÀY 12
THÁNG 10 NĂM 2010 CỦA BỘ CÔNG AN QUI ĐỊNH QUI TRÌNH ĐĂNG KÝ
XE) thì biển số xe máy có các đặc điểm sau:
- Biển số được làm bằng nhôm lá hình chữ nhật có kích thước 140 x 190mm
- Các ký tự và con số được dập nổi (mỗi địa phương có các bộ dập số khác nhau)
- Bề mặt được phủ sơn phản quang
- Biển số thể hiện rõ khu vực đăng ký lưu hành và được ghi lại trên giấy đăng ký
- Màu sắc sơn, chữ cái, số... được quy định riêng đối với từng loại xe và chủ phương
tiện: xe dân sự, quân sự, cơ quan thuộc chính phủ, cá nhân tổ chức nước ngoài...
Về cấu trúc biển sẽ theo thứ tự sau : tên địa phương đăng kí xe + mã nước + số xe.
cấu trúc này đúng với cả xe gắn máy và xe ô tô.

Nhận diện biển số xe


ĐỒ ÁN 3
Trang 6/30

CHƯƠNG 2. CƠ SỞ LÝ THUYẾT
2.1 Giới thiệu chung về Matlab
Matlab là một ngôn ngữ lập trình thực hành bậc cao được sử dụng để giải các
bài toán về kỹ thuật. Matlab tích hợp được việc tính toán, thể hiện kết quả, cho phép
lập trình, giao diện làm việc rất dễ dàng cho người sử dụng. Dữ liệu cùng với thư
viện được lập trình sẵn cho phép người sử dụng có thể có được những ứng dụng sau
đây.
• Sử dụng các hàm có sẵn trong thư viện, các phép tính toán học thông thường.

• Cho phép lập trình tạo ra những ứng dụng mới.
• Cho phép mô phỏng các mô hình thực tế.
• Phân tích, khảo sát và hiển thị dữ liệu.
• Với phần mềm đồ hoạ cực mạnh.
• Cho phép phát triển, giao tiếp với một số phần mềm khác như C++, Fortran
2.1.1 Tổng quan về cấu trúc dữ liệu của Matlab
Matlab là một hệ thống tương giao, các phần tử dữ liệu là một mảng (mảng
này không đòi hỏi về kích thước). Chúng cho phép giải quyết các vấn đề liên quan
đến lập trình bằng máy tính, đặc biệt sử dụng các phép tính về ma trận hay vectơ và
có thể sử dụng ngôn ngữ C học Fortran lập trình rồi thực hiện ứng dụng lập trình đó
bằng các câu lệnh gọi từ Matlab. Matlab được viết tắt từ chữ
“MATrix LABoratory” tức là thư viện về ma trận, từ đó phần mềm Matlab được
viết nhằm
cung cấp cho việc truy cập vào phần mềm ma trận một cách dễ dàng, phần mềm ma
trận này được phát triển bởi các công trình Linpack và Eispack. Ngày nay Matlab
được phát triển bởi Lapack và Artpack tạo nên một nghệ thuật phần mềm cho ma
trận.

2.1.2

Dữ liệu:

Dữ liệu của Matlab thể hiện dưới dạng ma trận (hoặc mảng – tổng quát), và có
các kiểu dữ liệu được liệt kê sau đây:
• Kiểu đơn single, kiểu này có lợi về bộ nhớ dữ liệu vì nó đòi hỏi ít byte nhớ
hơn, kiểu dữ liệu này không được sử dụng trong các phép tính toán học, độ
chính xác kém hơn.
• Kiểu double kiểu này là kiểu thông dụng nhất của các biến trong Matlab.
• Kiểu Sparse.
• Kiểu uint8, uint8, uint16, uint64…


Nhận diện biển số xe


ĐỒ ÁN 3
Trang 7/30

Kiểu char ví dụ “Hello”.
Kiểu cell.
Kiểu Structure.
Trong Matlab kiểu dữ liệu double là kiểu mặc định sử dụng trong các phép tính số
học.




2.1.3 Ứng dụng
Các khoá học về toán học.
Các kỹ sư, các nhà nghiên cứu khoa học.
Dùng Matlab để tính toán, nghiên cứu tạo ra các sản phẩm tốt nhất trong sản
xuất.

2.1.4 Hệ thống Matlab:
Hệ thống giao diện của Matlab được chia thành 5 phần:
• Môi trường phát triển.
Đây là nơi đặt các thanh công cụ, các phương tiện giúp chúng ta sử dụng các
lệnh và các file, ta có thể liệt kê một số như sau.
+ Desktop.
+ Command Window.
+ Command History.

+ Browsers for viewinghelp.
• Thư viện, các hàm toán học bao gồm các cấu trúc như tính tổng, sin cosin atan,
atan2 etc…, các phép tính đơn giản đến các phép tính phức tạp như tính ma trận
nghich đảo, trị riêng, chuyển đổi fourier, laplace, symbolic library.
• Ngôn ngữ Matlab. Đó là các ngôn ngữ cao về ma trận và mảng, với các dòng lệnh,
các hàm, cấu trúc dữ liệu vào, có thể lập trình hướng đối tượng.
• Đồ hoạ trong Matlab. Bao gồm các câu lệnh thể hiện đồ họa trong môi trường 2D
và 3D, tạo các hình ảnh chuyển động, cung cấp các giao diện tương tác giữa người
sử dụng và máy tính.
• Giao tiếp với các ngôn ngữ khác. Matlab cho phép tương tác với các ngôn ngữ
khác như C, Fortran …

Nhận diện biển số xe


ĐỒ ÁN 3
Trang 8/30

2.2 Xử lý ảnh với Matlab
2.2.1 Xử lý ảnh
Các bước cần thiết trong xử lý ảnh. Đầu tiên, ảnh tự nhiên từ thế giới ngoài
được thu nhận qua các thiết bị thu (như Camera, máy chụp ảnh). Trước đây, ảnh thu
qua Camera là các ảnh tương tự (loại Camera ống kiểu CCIR). Gần đây, với sự phát
triển của công nghệ, ảnh màu hoặc đen trắng được lấy ra từ Camera, sau đó nó được
chuyển trực tiếp thành ảnh số tạo thuận lợi cho xử lý tiếp theo. Máy ảnh số hiện nay
là một thí dụ gần gũi. Mặt khác, ảnh cũng có thể tiếp nhận từ vệ tinh; có thể quét từ
ảnh chụp bằng máy quét ảnh. Hình dưới đây mô tả các bước cơ bản trong xử lý ảnh.

Hình 2-2 Xử lý ảnh trong matlab


2.2.2 Các giai đoạn xử lý ảnh
2.2.2.1

Phần thu nhận ảnh (Image Acquisition)

Ảnh có thể nhận qua camera màu hoặc đen trắng. Thường ảnh nhận qua
camera là ảnh tương tự (loại camera ống chuẩn CCIR với tần số 1/25, mỗi ảnh
25 dòng), cũng có loại camera đã số hoá (như loại CCD – Change Coupled
Device) là loại photodiot tạo cường độ sáng tại mỗi điểm ảnh. Camera thường
dùng là loại quét dòng ; ảnh tạo ra có dạng hai chiều. Chất lượng một ảnh thu
nhận được phụ thuộc vào thiết bị thu, vào môi trường (ánh sáng, phong cảnh)

Nhận diện biển số xe


ĐỒ ÁN 3
Trang 9/30

2.2.2.2

Tiền xử lý (Image Processing)

Sau bộ thu nhận, ảnh có thể nhiễu độ tương phản thấp nên cần đưa vào bộ tiền
xử lý để nâng cao chất lượng. Chức năng chính của bộ tiền xử lý là lọc nhiễu,
nâng độ tương phản để làm ảnh rõ hơn, nét hơn.
2.2.2.3

Phân đoạn (Segmentation) hay phân vùng ảnh

Phân vùng ảnh là tách một ảnh đầu vào thành các vùng thành phần để biểu diễn

phân tích, nhận dạng ảnh. Ví dụ: để nhận dạng chữ (hoặc mã vạch) trên phong bì
thư cho mục đích phân loại bưu phẩm, cần chia các câu, chữ về địa chỉ hoặc tên
người thành các từ, các chữ, các số (hoặc các vạch) riêng biệt để nhận dạng. Đây
là phần phức tạp khó khăn nhất trong xử lý ảnh và cũng dễ gây lỗi, làm mất độ
chính xác của ảnh. Kết quả nhận dạng ảnh phụ thuộc rất nhiều vào công đoạn
này.
2.2.2.4

Biểu diễn ảnh (Image Representation)

Đầu ra ảnh sau phân đoạn chứa các điểm ảnh của vùng ảnh (ảnh đã phân đoạn)
cộng với mã liên kết với các vùng lận cận. Việc biến đổi các số liệu này thành
dạng thích hợp là cần thiết cho xử lý tiếp theo bằng máy tính. Việc chọn các tính
chất để thể hiện ảnh gọi là trích chọn đặc trưng (Feature Selection) gắn với việc
tách các đặc tính của ảnh dưới dạng các thông tin định lượng hoặc làm cơ sở để
phân biệt lớp đối tượng này với đối tượng khác trong phạm vi ảnh nhận được. Ví
dụ: trong nhận dạng ký tự trên phong bì thư, chúng ta miêu tả các đặc trưng của
từng ký tự giúp phân biệt ký tự này với ký tự khác.
2.2.2.5

Nhận dạng và nội suy ảnh (Image Recognition and Interpretation)

Thu nhận ảnh Tiền xử lý ảnh Phân đoạn ảnh Biểu diễn và mô tả Nhận dạng và
nội suy Cơ sở tri thức Chương 1: Nhập môn xử lý ảnh 5 Nhận dạng ảnh là quá
trình xác định ảnh. Quá trình này thường thu được bằng cách so sánh với mẫu
chuẩn đã được học (hoặc lưu) từ trước. Nội suy là phán đoán theo ý nghĩa trên

Nhận diện biển số xe



ĐỒ ÁN 3
Trang 10/30

cơ sở nhận dạng. Ví dụ: một loạt chữ số và nét gạch ngang trên phong bì thư có
thể được nội suy thành mã điện thoại. Có nhiều cách phân loai ảnh khác nhau về
ảnh. Theo lý thuyết về nhận dạng, các mô hình toán học về ảnh được phân theo
hai loại nhận dạng ảnh cơ bản: - Nhận dạng theo tham số. - Nhận dạng theo cấu
trúc. Một số đối tượng nhận dạng khá phổ biến hiện nay đang được áp dụng
trong khoa học và công nghệ là: nhận dạng ký tự (chữ in, chữ viết tay, chữ ký
điện tử), nhận dạng văn bản (Text), nhận dạng vân tay, nhận dạng mã vạch, nhận
dạng mặt người…
2.2.2.6

Cơ sở tri thức (Knowledge Base)

Như đã nói ở trên, ảnh là một đối tượng khá phức tạp về đường nét, độ sáng tối,
dung lượng điểm ảnh, môi trường để thu ảnh phong phú kéo theo nhiễu. Trong
nhiều khâu xử lý và phân tích ảnh ngoài việc đơn giản hóa các phương pháp
toán học đảm bảo tiện lợi cho xử lý, người ta mong muốn bắt chước quy trình
tiếp nhận và xử lý ảnh theo cách của con người. Trong các bước xử lý đó, nhiều
khâu hiện nay đã xử lý theo các phương pháp trí tuệ con người. Vì vậy, ở đây
các cơ sở tri thức được phát huy. Trong tài liệu, chương 6 về nhận dạng ảnh có
nêu một vài ví dụ về cách sử dụng các cơ sở tri thức đó.
2.2.2.7

Mô tả (biểu diễn ảnh)

Từ Hình 1.1, ảnh sau khi số hoá sẽ được lưu vào bộ nhớ, hoặc chuyển sang các
khâu tiếp theo để phân tích. Nếu lưu trữ ảnh trực tiếp từ các ảnh thô, đòi hỏi
dung lượng bộ nhớ cực lớn và không hiệu quả theo quan điểm ứng dụng và công

nghệ. Thông thường, các ảnh thô đó được đặc tả (biểu diễn) lại (hay đơn giản là
mã hoá) theo các đặc điểm của ảnh được gọi là các đặc trưng ảnh (Image
Features) như: biên ảnh (Boundary), vùng ảnh (Region). Một số phương pháp
biểu diễn thường dùng: • Biểu diễn bằng mã chạy (Run-Length Code) • Biểu
diễn bằng mã xích (Chaine -Code) • Biểu diễn bằng mã tứ phân (Quad-Tree
Code) Biểu diễn bằng mã chạy Phương pháp này thường biểu diễn cho vùng ảnh

Nhận diện biển số xe


ĐỒ ÁN 3
Trang 11/30

và áp dụng cho ảnh nhị phân. Một vùng ảnh R có thể mã hoá đơn giản nhờ một
ma trận nhị phân: U(m, n) = 1 nếu (m, n) thuộc R U( m, n) = 0 nếu (m, n) không
thuộc R Trong đó: U(m, n) là hàm mô tả mức xám ảnh tại tọa độ (m, n). Với
cách biểu diễn trên, một vùng ảnh được mô tả bằng một tập các chuỗi số 0 hoặc
1. Giả sử chúng ta mô tả ảnh nhị phân của một vùng ảnh được thể hiện theo toạ
độ (x, y) theo các chiều và đặc tả chỉ đối với giá trị “1” khi đó dạng mô tả có thể
là: (x, y)r; trong đó (x, y) là toạ độ, r là số lượng các bit có giá trị “1” liên tục
theo chiều ngang hoặc dọc. Biểu diễn bằng mã xích
Phương pháp này thường dùng để biểu diễn đường biên ảnh. Một đường bất kỳ
được chia thành các đoạn nhỏ. Nối các điểm chia, ta có các đoạn thẳng kế tiếp
được gán hướng cho đoạn thẳng đó tạo thành một dây xích gồm các đoạn. Các
hướng có thể chọn 4, 8, 12, 24,… mỗi hướng được mã hoá theo số thập phân
hoặc số nhị phân thành mã của hướng. Biểu diễn bằng mã tứ phân Phương pháp
mã tứ phân được dùng để mã hoá cho vùng ảnh. Vùng ảnh đầu tiên được chia
làm bốn phần thường là bằng nhau. Nếu mỗi vùng đã đồng nhất (chứa toàn
điểm đen (1) hay trắng (0)), thì gán cho vùng đó một mã và không chia tiếp.
Các vùng không đồng nhất được chia tiếp làm bốn phần theo thủ tục trên cho

đến khi tất cả các vùng đều đồng nhất. Các mã phân chia thành các vùng con
tạo thành một cây phân chia các vùng đồng nhất. Trên đây là các thành phần cơ
bản trong các khâu xử lý ảnh. Trong thực tế, các quá trình sử dụng ảnh số
không nhất thiết phải qua hết các khâu đó tùy theo đặc điểm ứng dụng. Hình 1.2
cho sơ đồ phân tích và xử lý ảnh và lưu đồ thông tin giữa các khối một cách khá
đầy đủ. Anh sau khi được số hóa được nén, luuw lai để truyền cho các hệ thống
khác sử dụng hoặc để xử lý tiếp theo. Mặt khác, ảnh sau khi số hóa có thể bỏ
qua công đoạn nâng cao chất lượng (khi ảnh đủ chất lượng theo một yêu cầu
nào đó) để chuyển tới khâu phân đoạn hoặc bỏ tiếp khâu phân đoạn chuyển trực
tiếp tới khâu trích chọn đặc trưng. Hình 1.2 cũng chia các nhánh song song như:
nâng cao chất lượng ảnh có hai nhánh phân biệt: nâng cao chất lượng ảnh (tăng

Nhận diện biển số xe


ĐỒ ÁN 3
Trang 12/30

độ sáng, độ tương phản, lọc nhiễu) hoặc khôi phục ảnh (hồi phục lại ảnh thật
khi ảnh nhận được bị méo) v.v…

2.2.3 Các kiểu ảnh trong matlab
2.2.3.1

Ảnh được định chỉ số (Indexed Images)

Một ảnh chỉ số bao gồm một ma trận dữ liệu X và ma trận bản đồ màu map. Ma trận
dữ liệu có thể có kiểu thuộc lớp uint8, uint16 hoặc kiểu double. Ma trận bản đồ màu
là một mảng mx3 kiểu double bao gồm các giá trị dấu phẩy động nằm giữa 0 và 1.
Mỗi hàng của bản đồ chỉ ra các giá trị mà: red, green và blue của một màu đơn. Một

ảnh chỉ số sử dụng ánh xạ trực tiếp giữa giá trị của pixel ảnh tới giá trị trong bản đồ
màu. Màu sắc của mỗi pixel ảnh được tính toán bằng cách sử dụng giá trị tương ứng
của X ánh xạ tới một giá trị chỉ số của map. Giá trị 1 chỉ ra hàng đầu tiên, giá trị 2
chỉ ra hàng thứ hai trong bản đồ màu …
Một bản đồ màu thường được chứa cùng với ảnh chỉ số và được tự động nạp
cùng với ảnh khi sử dụng hàm imread để đọc ảnh. Tuy nhiên, ta không bị giới
hạn khi sử dụng bản đồ màu mặc định, ta có thể sử dụng bất kì bản đồ màu nào.
2.2.3.2

Ảnh cường độ (Intensity Images)

Một ảnh cường độ là một ma trận dữ liệu ảnh I mà giá trị của nó đại diện cho cường
độ trong một số vùng nào đó của ảnh. Matlab chứa một ảnh cường độ như một ma
trận đơn, với mỗi phần tử của ma trận tương ứng với một pixel của ảnh. Ma trận có
thể thuộc lớp double, uint8 hay uint16. Trong khi ảnh cường độ hiếm khi được lưu
với bản đồ màu, Matlab sử dụng bản đồ màu để hiển thị chúng.
Những phần tử trong ma trận cường độ đại diện cho các cường độ khác nhau
hoặc độ xám. Những điểm có cường độ bằng 0 thường được đại diện bằng màu

Nhận diện biển số xe


ĐỒ ÁN 3
Trang 13/30

đen và cường độ 1,255 hoặc 65535 thường đại diện cho cường độ cao nhất hay
màu trắng.

Nhận diện biển số xe



ĐỒ ÁN 3
Trang 14/30

2.2.3.3

Ảnh nhị phân (Binary Images)

Trong một ảnh nhị phân, mỗi pixel chỉ có thể chứa một trong hai giá trị nhị phân 0
hoặc 1. Hai giá trị này tương ứng với bật hoặc tắt (on hoặc off). Một ảnh nhị
phân được lưu trữ như một mảng logic của 0 và 1.
2.2.3.4

Ảnh RGB (RGB Images)

Một ảnh RGB – thường được gọi là true-color, được lưu trữ trong Matlab dưới dạng
một mảng dữ liệu có kích thước 3 chiều mxnx3 định nghĩa các giá trị màu red,
green và blue cho mỗi pixel riêng biệt. Ảnh RGB không sử dụng palette. Màu của
mỗi pixel được quyết định bởi sự kết hợp giữa các giá trị R, G, B (Red, Green,
Blue) được lưu trữ trong một mặt phẳng màu tại vị trí của pixel. Định dạng file đồ
hoạ lưu trữ ảnh RGB giống như một ảnh 24 bits trong đó R, G, B chiếm tương ứng
8 bit một. Điều này cho phép nhận được 16 triệu màu khác nhau.
Một mảng RGB có thể thuộc lớp double, uint8 hoặc uint16. Trong một mảng RGB
thuộc lớp double, mỗi thành phần màu có giá trị giữa 0 và 1. Một pixel mà thành
phần màu của nó là (0, 0, 0) được hiển thị với màu đen và một pixel mà thành phần
màu là (1, 1, 1 ) được hiển thị với màu trắng. Ba thành phần màu của mỗi pixel
được lưu trữ cùng với chiều thứ 3 của mảng dữ liệu. Chẳng hạn, giá trị màu R, G, B
của pixel (10, 5) được lưu trữ trong RGB(10, 5, 1), RGB(10, 5, 2) và RGB(10, 5, 3)
tương ứng.
Để tính toán màu sắc của pixel tại hàng 2 và cột 3 chẳng hạn, ta nhìn vào bộ ba giá

trị được lưu trữ trong (2, 3, 1:3). Giả sử (2, 3, 1) chứa giá trị 0.5176; (2, 3, 2) chứa
giá trị 0.1608 và (2, 3, 3) chứa giá trị 0.0627 thì màu sắc của pixel tại (2, 3) sẽ là
(0.5176, 0.1608, 0.0627).

Nhận diện biển số xe


ĐỒ ÁN 3
Trang 15/30

CHƯƠNG 3. GIẢI THUẬT
3.1 Định nghĩa và công thức
3.1.1 Phép toán hình thái học (Mathematical morphology)
Phép toán hình thái học là một loại tôpô mà phương pháp tiếp cận nó dựa trên hình
học để phân tích hình ảnh mà cung cấp các công cụ mạnh mẽ cho việc trích xuất
hình học cấu trúc và hình dạng được sử dụng trong nhiều ứng dụng. Các công thức
sau đây tạo thành cơ sở của hình thái toán học :

Nhận diện biển số xe


ĐỒ ÁN 3
Trang 16/30

3.1.1.1

Giãn nở:

(F ⊕ B)(x, y) = max{F(x − s, y − t) + B(s, t)} (1)
3.1.1.2


Xói mòn :

(F Θ B)(x, y) = min{F(x + s, y + t) − B(s, t)} (2)
3.1.1.3

Mở :

F o B =(FΘB)⊕ B
3.1.1.4

(3)

Đóng :

F • B = F⊕ B)ΘB

(4)

3.1.2 Cấu trúc phần tử
Trong phép toán hình thái học này được đại diện như ma trận. Cấu trúc phần tử là
một đặc trưng của cấu trúc và các tính năng nhất định để đo lường hình dạng của
một hình ảnh và được sử dụng để thực hiện chỉnh sửa các hình ảnh khác. Hình dạng
và kích thước của cấu trúc phần tử đóng vai trò quan trọng trong việc xử lý hình ảnh
và là do đó lựa chọn theo các điều kiện của hình ảnh và nhu cầu chỉnh sửa

Cấu trúc phần tử điển hình có dạng :
1

1


1

1

1

1

1

1

1

1

1

1

Bảng 3-1 Cấu trúc hình chữ nhật 2*6

Nhận diện biển số xe


ĐỒ ÁN 3
Trang 17/30

1


1

1

1

1

1

1

1

1

1

1

1

1

1

1

1


1

1

1

1

1

1

1

1

1

1

1

1
Bảng 3-2 Cấu trúc dạng đĩa có bán kính là 3

Nhận diện biển số xe

1



ĐỒ ÁN 3
Trang 18/30

3.2 Sơ đồ khối
Đưa hình vào

Chuyển ảnh từ RGB sang GRAY

Phép toán hình thái học và nhị phân hóa

Xác định rìa đối tượng

Tách phần biển số

Lắp khoảng trống ký tự

Trích xuất ký tự

Xuất ra ký tự
Bảng 3-3 Sơ đồ khối

Nhận diện biển số xe


ĐỒ ÁN 3
Trang 19/30

3.3 Phương pháp nhận diện
Để nhận diện các văn bản viết trên biển số phải có độ tương phản cao so với nền và

trên cơ sở này một phương pháp nhận dạng được đề xuất.
Phương pháp được chia thành bốn phần:
• Nhị phân hóa
• Lọc vùng chứa đối tượng
• Xác nhận vùng chọn
• Nhận diện và xác định
Công việc này nhắm vào cường độ xám dựa trên tấm biển để khai thác và do đó bắt
đầu tiến hành việc phân tích bằng màu xám này.
3.3.1 Tiền xử lý
Ảnh được chụp bằng camera kỹ thuật số.
Ảnh ở dạng RGB sẽ được chuyển sang xám.
Bước tiền xử lý được dùng để tang tốc độ xử lý, làm tang độ tương phản và giảm
nhiễu trong ảnh.
3.3.2 Thao tác hình thái học
Phép toán hình thái học chế độ MỞ cho phép dùng tạo cấu trúc phần tử trên ảnh
thang màu xám, sau đó trừ lại ảnh gốc
Biển số hay các phần như đèn đươc giữ lại trong ảnh mới, còn các phần không cần
thiết sẽ được loại bỏ.
3.3.3 Nhị phân hóa
Đặt hình ảnh màu xám đầu vào
Các hình ảnh sau đó được lọc bằng bộ lọc trung vị để tạo ra một hình ảnh mờ bằng
cách tính toán mức ngưỡng

Nhận diện biển số xe


ĐỒ ÁN 3
Trang 20/30

Đầu tiên là tìm giá trị nhỏ nhất và lớn nhất của pixel từ ảnh.

Quá trình này chuyển tất cả pixel sang dạng 0-1 và làm cho các bước xử lý sau dễ
dàng hơn.
3.3.4 Phát hiện cạnh
Các ký tự trong vùng biển số xe chứa số lượng lớn các cạnh, các cạnh này được so
sánh với vùng nền.
Đặc tính này được dùng để định vị vùng có xác suất cao nhất xuất hiện biển số
trong bức ảnh.
Bộ lọc Sobel được dùng để phát hiện vùng ấy.
3.3.5 Phát hiện vùng chứa
Phép toán hình thái học được sử dụng để loại bỏ những đối tượng không cần thiết.
Thuật toán Đóng và Mở được dùng để trích xuất vùng chứa hợp lý nhất từ toàn bộ
bức ảnh
Đôi khi một số phần nền xuất hiện cùng lúc với vùng cần chọn.
3.3.6 Trích xuất ký tự
Kể từ khi xác định khu vực được chọn, nó vẫn còn nghiêng tại một số góc, cần phải
được chỉnh sửa để tăng độ chính xác của đối tượng cần khai thác.
Điều này được thực hiện bằng cách xoay trích xuất hình ảnh nhị phân về thẳng
đứng.
Phân chia các ký tự thành từng ký tự riêng biệt trên biển số xe.
Chỉ số hàng và cột của từng ký tự được lưu lại, các chỉ số này được lấy từ ảnh thang
xám của biển số

Nhận diện biển số xe


ĐỒ ÁN 3
Trang 21/30

Đem các ký tự thu được so sánh với các ký tự trong dữ liệu, ta thụ được kết quả
được hiển thị dưới dạng text.


Nhận diện biển số xe


ĐỒ ÁN 3
Trang 22/30

CHƯƠNG 4. MÔ PHỎNG VÀ KẾT QUẢ
4.1 Mô phỏng

Hình 4-3 Ảnh RGB ban đầu

Hình 4-4 Nhị phân hóa ảnh

Hình 4-5 Lắp khoảng trống các đối tượng

Nhận diện biển số xe


ĐỒ ÁN 3
Trang 23/30

Hình 4-6 Tạo khung viền cho các ký tự

Hình 4-7 Thu hẹp vùng đối tượng

Hình 4-8 Xuất ký tự dưới dạng text

 Một số ví dụ mô phỏng khác:


Hình 4-9 Biển số xe 57F-77872

Nhận diện biển số xe


×