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

Nhận diện biển số xe dùng Matlab (Full Code)

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 (2.18 MB, 66 trang )

BỘ CÔNG THƯƠNG
TRƯỜNG ĐẠI HỌC CÔNG NGHIỆP TP. HỒ CHÍ MINH
KHOA CÔNG NGHỆ ĐIỆN TỬ
ĐỒ ÁN 2
ĐỀ TÀI:
NHẬN DẠNG BIỂN SỐ XE
BẰNG PHẦN MỀM MATLAB
GVHD : ThS. NGUYỄN TIẾN TÙNG
SVTH : TRẦN CAO MINH_10320281
NGUYỄN HOÀNG NHẠC_
LỚP : DHDT6BLT
TP. Hồ Chí Minh, tháng 11 năm 2011
LỜI CẢM ƠN
Chúng em xin gời đến toàn thể quý thầy cô trường Đại học công nghiệp Tp.HCM nói
chung và quý thầy cô khoa Công nghệ điện tử nói riêng lời cảm ơn chân thành nhất. Quý thầy cô
đã truyền đạt cho chúng em những kiến thức chuyên môn cũng như kinh nghiệm học tâp vô cùng
quý báu và phong phú trong suốt thời qua.
Đặc biệt chúng em xin cảm ơn sâu sắc đến Thầy ThS. Nguyễn Tiến Tùng đã hướng dẫn
chúng em rất tận tình trong suốt thời gian qua cùng những lời động viên, khích lệ đúng lúc giúp
chúng em vượt qua các thời điểm khó khăn nhất. Những tài liệu bổ ích mà thầy đã cung cấp cũng
như những lời góp ý vô cùng quý báo đã giúp chúng em hoàn thành đồ án này.
Cảm ơn tất cả bạn bè, những người đã đóng góp ý kiến và luôn động viên khuyến khích
giúp đỡ nhóm hoàn thành đồ án này.
Xin Chân thành cảm ơn !
Nhóm sinh viên thực hiện!
Trần Cao Minh
Nguyễn Hoàng Nhạc

TP. Hồ Chí Minh, ngày tháng năm 2011
PHIẾU NHẬN XÉT ĐỒ ÁN
(Dành cho giáo viên h ướng dẫn)


A. Phần ghi của sinh viên
1. Họ và tên sinh viên : …………………………………………………MSSV :
Họ và tên sinh viên : …………………………………………………MSSV :
Lớp ……………………………Điện thoại liên lạc: ……………………
2. Đề tài :


3. Họ tên giáo viên hướng dẫn:
4. Tổng quát về thuyết minh bản báo cáo:
Số trang: Số chương :
Số bảng số liệu : Số hình vẽ:
Số tài liệu tham khảo: Phần mềm tính toán:
Hiện vật (sản phẩm) :
B. Phần ghi của giáo viên hướng dẫn
5. Phần nhận xét (nếu có)




6. Kết luận và đề nghị :
Được bảo vệ Không được bảo vệ
7. Đánh giá chung : Sinh viên Điểm :
/ 10
Sinh viên Điểm :
/ 10
Ký tên (ghi rõ họ tên)
TRƯỜNG ĐẠI HỌC CÔNG NGHIỆP TP.HCM
KHOA CÔNG NGHỆ ĐIỆN TỬ
BỘ MÔN ĐIỆN TỬ VIỄN THÔNG
CỘNG HOÀ XÃ HỘI CHỦ NGHĨA VIỆT NAM

Độc Lập – Tự Do – Hạnh Phúc
NHẬN XÉT CỦA GIÁO VIÊN PHẢN BIỆN
………………………………………………………………………………………
………………………………………………………………………………………
………………………………………………………………………………………
………………………………………………………………………………………
………………………………………………………………………………………
………………………………………………………………………………………
………………………………………………………………………………………
………………………………………………………………………………………
………………………………………………………………………………………
………………………………………………………………………………………
………………………………………………………………………………………
………………………………………………………………………………………
………………………………………………………………………………………
………………………………………………………………………………………
………………………………………………………………………………………
………………………………………………………………………………………
………………………………………………………………………………………
………………………………………………………………………………………
………………
Ngày tháng năm 2011
Ký tên
MỤC LỤC
Lời mở đầu Trang
CHƯƠNG 1: TỔNG QUAN VỀ NHẬN DẠNG ẢNH 1
1.1GIỚI THIỆU CHƯƠNG TRÌNH NHẬN DẠNG BIỂN SỐ XE 5
1.2.1 Giới thiệu 5
1.2.2 Nội dung đồ án 5
1.2 TỔNG QUAN VỀ XỬ LÝ VÀ NHẬN DẠNG ẢNH 1

1.1.1 Khái niệm 1
1.1.2 Các phuơng pháp nhận dạng truyền thống 3
1.1.3 Các hạn chế của phuơng pháp nhận dạng truyền thống 4
CHƯƠNG 2: LÝ THUYẾT ẢNH SỐ VÀ XỬ LÝ ẢNH SỐ 9
2.1.
2.1. LÝ THUYẾT VỀ ẢNH SỐ


9
9
2.1.1. Khái niệm ảnh số 9
2.1.2. Phần tử ảnh (pixel) 10
2.1.3. Cấu trúc một file ảnh 10
2.1.4. Mức xám (Gray level) 11
2.1.5. Ảnh chỉ số 12
2.1.6. Ảnh biểu diễn theo độ sáng 12
2.1.7. Ảnh trắng đen 12
2.1.8. Ảnh RGB 13
2.1.9. Dãy ảnh đa khung 15
2.2.
2.2. CÁC KỶ THUẬT XỬ LÝ ẢNH SỐ


16
16
2.2.1. Mục đích của việc xử lý ảnh số 16
2.2.2. Kỷ thuật nâng cao chất lượng ảnh 16
2.2.3. Kỷ thuật biến đổi ảnh 16
2.2.4. Kỷ thuật phân tích ảnh 16
2.2.5. Kỷ thuật nhận dạng ảnh 17

2.3.
2.3. CÁC PHƯƠNG PHÁP XỬ LÝ ẢNH SỐ


17
17
2.3.1. Chuyển ảnh màu RGB thành ảnh mức xám 17
2.3.2. Phương pháp lọc nhiễu ảnh 17
2.3.2.1. Lọc tuyến tính 18
2.3.2.2. Lọc phi tuyến 18
2.3.2.3. Lọc trung vị 18
2.3.3. Phân vùng ảnh 21
2.3.3.1. Phương pháp phân vùng ảnh 21
2.3.3.2. Khái niệm biên 21
2.3.3.3. Thuật toán dò biên tổng quát 22
2.3.3.4. Phát hiện biên 23
2.3.3.5. Biến đổi Randon 24
CHƯƠNG 3: CHƯƠNG TRÌNH NHẬN DẠNG BIỂN SỐ XE 29
3.1 KHÁI QUÁT CHƯƠNG TRÌNH 29
3.2 TRÍCH VÙNG BIỂN SỐ XE 30
3.2.1. Xác định ngưỡng xám 30
3.2.2. Chương trình tìm góc nghiêng 31
3.3 CÁCH LY CÁC KÝ TỰ TRONG BIỂN SỐ 32
3.3.1. Chia biển số thành hai hàng 32
3.3.2. Cắt các ký tự trong 2 hàng 34
3.4 CHƯƠNG TRÌNH NHẬN DẠNG BIỂN SỐ 35
3.4.1. Tạo các mẫu 35
3.2.2. Tiến hành nhận dạng các ký tự 35
CHƯƠNG 4: KẾT QUẢ MÔ PHỎNG 38
4.1 GIAO DIỆN CHƯƠNG TRÌNH 38

4.1.1. Giao diện chính 38
4.4.2. Giao diện nhận dạng 39
4.1.3. Kết quả nhận dạng 40
4.2 QUY TRÌNH NHẬN DẠNG 41
Kết luận và hướng phát triển đề tài 42
Phụ lục 44
Tài liệu tham khảo
LỜI MỞ ĐẦU
Cùng với sự phát triển của khoa học kỹ thuật và nhu cầu đi lại ngày càng tăng số
lựợng phương tiện giao thông trên đường ngày càng xuất hiện nhiều.Với số lượng
phương tiện giao thông lớn và còn không ngừng tăng lên.
Vấn đề này đã làm nảy sinh nhiều vấn đề trong việc kiểm soát cũng như quản lý các
phương tiện. Để giải quyết vấn đề này nhu cầu đặt ra là áp dụng các hệ thống tự động.
Một trong những hệ thống đươc đề cập trên là hệ thống “ Nhận dạng biển số xe ”.
Đây là là hệ thống có khả năng thu nhận hình ảnh cũng như là “đọc” và “hiểu” các
biển số xe một cách tự động. Hệ thống này có thể được ứng dụng rộng rãi như: trạm cân
và rửa xe tự động hoàn toàn, bãi giữ xe tự động, kiểm soát lưu lượng giao thông hay
trong các ứng dụng về an ninh.
Cũng như mọi hệ thống tự động khác, hệ thống “ Nhận dạng biển số xe” cũng sẽ yêu
cầu có cả phần cứng lẫn phần mềm. Phần cứng của nó có phần chính sẽ là một camera có
tác dụng thu nhận hình ảnh còn phần mềm sẽ có tác dụng xử lý hình ảnh đó.
Với sự phát triển của kỹ thuật điện tử, các camera sẽ dễ dàng có khả năng thu nhận
được hình ảnh do đó mà vấn đề đặt ra và luôn là vấn đề quan trọng nhất trong hệ thống,
quyết định tính hiệu quả của hệ thống xử lý ảnh bởi phần mềm Matlab.
Với vai trò đã phân tích ở trên. Tập đồ án này chủ yếu tập trung vào giải quyết các
vấn đề đặt ra khi xử lý ảnh để được ra chính xác biển số đăng ký xe.
CHƯƠNG 1
TỔNG QUAN VỀ NHẬN DẠNG ẢNH
1.1TỔNG QUAN VỀ XỬ LÝ VÀ NHẬN DẠNG ẢNH
1.1.1 Khái niệm

Xử lý và nhận dạng ảnh là một khoa học còn tương đối mới so với nhiều ngành
khoa học khác, một trong những lĩnh vực từ lâu được nhiều người quan tâm. Nó
liên quan đến nhiều ngành khoa học khác như hệ thống thông tin, lý thuyết thông
tin, lý thuyết thống kê, nhận dạng, dùng để nhận dạng các ký tự, chữ số, mặt
người, vân tay
Xử lý ảnh là quá trình bao gồm nhiều công đoạn như: thu nhận ảnh, tăng
cường ảnh, khôi phục ảnh, biến đổi ảnh, phân tích ảnh Các quá trình này đều
phải áp dụng nhiều thuật toán khác nhau, cũng như phương pháp sử dụng rất đa
dạng.
Nhận dạng là quá trình phân loại các đối tượng được biểu diễn theo một mô
hình nào đó và gán cho chúng vào một lớp (gán cho đối tượng một tên gọi) dựa
theo những quy luật và các mẫu chuẩn.
Quá trình xử lý và nhận dạng ảnh tùy theo nhu cầu ứng dụng thực tế mà sử
dụng thuật toán và phương pháp khác nhau. Tuy nhiên theo trình tự nhất định
thực hiện các bước sau đây:
Hình 1.1: Sơ đồ nhận dạng ảnh tổng quát
 Thu nhận ảnh: thu nhận ảnh qua camera, cũng có thể bộ cảm biến, ảnh
chụp được đưa vào máy tính làm cơ sở dữ liệu. Ảnh thu được là tín hiệu
tương tự.
 Mã hóa: là quá trình biến đổi tín hiệu tương tự sang tín hiệu rời rạc và số
hóa bằng lượng tử hóa trước khi chuyển sang giai đoạn xử lý.
 Phân tích ảnh: bao gồm nhiều công đoạn nhỏ:
 Trước hết nâng cao chất lượng ảnh, do chất lượng ảnh thu được không đạt
yêu cầu với nhiều nguyên nhân khác nhau ( chất lượng thiết bị thu ảnh,
nguồn sáng, nhiễu,…).
 Sau đó khôi phục ảnh để làm nổi bật một số đặc tính chính của ảnh, hay
làm cho ảnh giống nhất với trạng thái gốc ( trạng thái trước khi ảnh bị biến
dạng ).
 Kế tiếp là phát hiện các đặc tính như: biên, phân vùng ảnh, trích chọn các
đặc 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 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.1.2 Các phuơng pháp nhận dạng truyền thống.
Hệ nhận dạng kí tự ( gọi tắt là OCR - Optical Character Recognition ). Nhiều
hệ thống nhận dạng đã làm việc khá tốt với các trang văn bản rõ nét, nhưng xét
tổng thể thì vẫn còn khoảng cách khá lớn giữa tính năng của các hệ nhận dạng và
đòi hỏi thực tế.
Đa số các hệ OCR làm việc với hình ảnh nhị phân (Bitmap) của các trang văn
bản đã được Scanner hoặc nhận từ máy Fax. Công việc đầu tiên của quy trình
nhận dạng là phân thành các khối văn bản dựa trên đặc thù trang in như lề phải, lề
trái. Từng khối văn bản sau đó được phân thành những ô mực nhỏ ( tương ứng với
các chữ cái ). Chương trình nhận dạng sẽ tính xem từng ô mực tương ứng với chữ
cái nào và xác định nội dung trang văn bản đó.
Sự khác biệt giữa hình ảnh và văn bản cũng là một vấn đề được các hệ OCR
lưu ý. Đa số các hệ nhận dạng dùng các tham số thống kê để phân biệt chữ và hình
ảnh ( đối với văn bản, màu trắng và đen phân bố với nhịp điệu chuẩn, còn trong
hình ảnh thì các pattern đen trắng phân bố không đều ). Thuật toán đơn giản nhất

là lấy phần trăm các điểm đen/trắng làm chỉ tiêu phân biệt, nhưng khi đó chữ quá
đậm có thể bị xem là hình ảnh.
Có nhiều phương pháp nhận dạng, nhưng nói chung được quy về 2 kiểu: nhận
dạng theo mẫu ( template-base ) và nhận dạng theo tính chất ( feature - base).
 Phương pháp nhận dạng theo mẫu là so sánh với các mẫu chữ lưu sẵn.
 Nhận dạng theo tính chất thì quy ô mực thành các tính chất quy định cách
thức viết nên con chữ.
Phương pháp nhận dạng theo mẫu thuộc loại cổ điển quy mỗi ô mực thành một
ma trận điểm 10 x 10. Các con chữ có thể có kích cỡ khác nhau nhưng đều quy
thành ma trận 10 x 10 và so sánh với mẫu để chọn mẫu gần nhất. Có nhiều cách
thức so sánh, chẳng hạn thông qua số lượng điểm khác biệt. Tuy nhiên do sự khác
biệt giữa các font chữ nhiều khi còn lớn hơn sự khác biệt giữa các con chữ cùng
font ( chẳng hạn chữ b và chữ h - 2 chữ này trong cùng một font còn có vẻ gần
nhau hơn so với cùng chữ trong font ), vì vậy thông thường các mẫu được phân
theo font. Sau khi xử lý một vài từ, hệ thống tự động xác định các con chữ hay
dùng và định font cho thích hợp.
Nhận dạng theo tính chất, trong hệ có 100 “ hệ chuyên gia” khác nhau, thực
chất là các thuật toán nhận dạng 100 con chữ ( từ A Z, a z, số, các dấu ). Các
con chữ được nhận dạng theo các tính chất như gạch nghiêng, đứng, nghiêng,
điểm uốn, phản xạ, chiều dài và hướng các dấu gạch. Hệ chuyên gia còn xem xét
hình chiếu dọc, ngang ( cộng với các điểm đen theo hàng/cột ) để xác định thêm
các tham số khác. Kiểu nhận dạng này dựa trên tư duy quen thuộc sau: chẳng hạn
chữ t gồm một đường thẳng đứng cắt một vạch ngang, có thể có thêm các gạch
chân. Nếu nhận dạng theo mẫu phải lưu tất cả các mẫu khác nhau ( hệ
ExperVision chứa tới 2100 loại chữ ). Hệ OmniPage sẽ chỉ cho máy tính cách
“đọc” từng con chữ, ví dụ chữ k gồm một vạch đứng và hai vạch chéo, còn các
tham số khác chỉ là tham số phụ.
1.1.3 Các hạn chế của phương pháp truyền thống
Thực tế các trang văn bản không thể đạt được mức độ sạch sẽ, chuẩn mực. Còn
nhiễu khuyết điểm hiện tại là một vấn đề lớn đối với các hệ OCR, bởi vì chỉ cần

một vài chấm mực nhỏ chữ cũng có thể làm nhận dạng sai, ví dụ chữ C có thể biến
thành chữ O, hay tài liệu photocopy thì các nét mảnh có thể bị đứt đoạn thì có thể
trở thành một chữ cái riêng.
Các kiểu chữ mang tính nghệ thuật ngày càng nhiều, và ngay cả các loại chữ
chuẩn cũng không hoàn toàn đồng nhất ngay cả khi trùng tên, chẳng hạn font chữ
Times của máy in Hewlett-Packard DeskJet khác font cùng tên trên máy in Apple
Laser Writer.
Với kiểu nhận dạng này, nhiễu có thể gây ra các lỗi khác nhau, bởi vì bỏ đi một
vài điểm không ảnh hưởng nhiều đến việc nhận dạng theo mẫu nhưng có thể phân
cắt các đường thẳng hoặc đường cong và dẫn đến kết quả sai.
Các thuật toán nhận dạng phải đủ mềm dẻo để xử lý khía cạnh tế nhị này. Nếu
không đủ mềm dẻo thì một khác biệt rất bé của kiểu chữ cũng đòi hỏi quản lý và
xử lý riêng, ngược lại, quá mềm dẻo thì lỗi có thể rất nhiều, chẳng hạn chữ b và
chữ h khác nhau không nhiều có thể bị đồng nhất làm một.
1.2 GIỚI THIỆU CHƯƠNG TRÌNH NHẬN DẠNG BIỂN SỐ XE
1.2.1 Giới thiệu
Với số lượng phương tiện giao thông lớn và còn không ngừng tăng lên như
hiện nay đã làm nảy sinh nhiều vấn đề trong việc kiểm soát cũng như quản lý các
phương tiện. Để giải quyết vấn đề này nhu cầu đặt ra là áp dụng các hệ thống tự
động. Một trong những hệ thống như vậy là hệ thống tự động nhận dạng biển số
xe là hệ thống có khả năng thu nhận ảnh cũng như là “đọc” và “hiểu” các biển số
xe một cách tự động.
Một hệ thống như vậy có thể được sử dụng trong rất nhiều các ứng dụng chẳng
hạn như: trạm cân và rửa xe tự động hoàn toàn, bãi giữ xe tự động, kiểm soát lưu
lượng giao thông hay trong các ứng dụng về an ninh như tìm kiếm xe mất cắp.
Như mọi hệ thống tự động khác, hệ thống như vậy cũng sẽ yêu cầu có cả phần
cứng lẫn phần mềm. Phần cứng của nó có phần chính sẽ là một camera có tác
dụng thu nhận hình ảnh còn phần mềm sẽ có tác dụng xử lý hình ảnh đó. Với sự
phát triển của kỹ thuật điện tử, các camera sẽ dễ dàng có khả năng thu nhận được
hình ảnh do đó mà vấn đề đặt ra và luôn là vấn đề quan trọng nhất trong hệ thống,

quyết định tính hiệu quả của hệ thống xử lý ảnh như vậy sẽ là phần mềm xử lý
ảnh. Với vai trò như đã phân tích ở trên nghiên cứu này tập trung vào giải quyết
các vấn đề đặt ra khi xử lý ảnh để đưa ra chính xác biển số đăng ký xe.
1.2.2 Nội dung đồ án
Cũng như mọi hệ thống tự động khác bao gồm phần cứng và phần mềm. Phần
cứng hệ thống này chính là Camera hay Webcam có tác dụng thu nhận chụp hình
ảnh biển số xe, hay l những ảnh chụp từ máy ảnh đây là dữ liệu đầu vào. Phần
mềm Matlab sẽ xử lý và nhận dạng ảnh, sau đó đưa ra chính xác biển số xe. Có thể
tóm tắt yêu cầu đưa ra theo sơ đồ sau:
Hình 1.2: Sơ đồ nhận dạng biển số xe
Từ lưu đồ trên ta thấy hệ thống nhận dạng biển số xe này có thể chia thành
ba giai đoạn chính: trích biển số, tách ký tự và nhận dạng các ký tự như sau:
 Bắt hình từ camera: là quá trình capture từng khung hình trong video
stream liên tục từ camera. Quá trình bắt hình được thực hiện tự động liên
tục, theo chu kì, hay tùy vào sự quyết định của các điều kiện khác.
 Tiền xử lý ảnh: Tại đây các phép tiền xử lý ảnh như: chuyển đổi không gian
màu, khử nhiễu, cân bằng sáng được tiến hành nhằm chuẩn bị dữ liệu tốt,
phù hợp tùy theo yêu cầu của các thuật toán xử lý ở mức cao hơn
 Xử lý trích xuất vùng biển số xe: trong bước thu nhận ảnh từ camera
(webcam) hay những ảnh chụp từ máy chụp ảnh sau khi đưa vào máy tính
làm cơ sở dữ liệu, ta dựa vào một số đặc điểm cơ bản của biển số xe so với
các vật thể khác trong ảnh, áp dụng các thuật toán trích ra được vùng ảnh
nhỏ nhất chứa biển số. Công đoạn này thực hiện dựa vào phương pháp hình
thái học: dựa vào đặc trưng hình thái của biển số xe như màu sắc, độ sáng,
sự đối xứng để xác định và trích ra ảnh biển số. Phần này xác định bằng các
thuật toán chính: xác định ngưỡng xám, phát hiện biên, phân vùng ảnh.
 Cô lập các ký tự trong biển số xe: tách thành 8 hoặc 9 ký tự trong biển số
xe, công đoạn này cũng thực hiện giống như trích biển số.
 Nhận diện các ký tự: nhận dạng các ký tự từ các ký tự đã được tách ra.
CHƯƠNG 2

LÝ THUYẾT ẢNH SỐ VÀ XỬ LÝ ẢNH SỐ
2.1 LÝ THUYẾT VỀ ẢNH SỐ
2.1.1 Khái niệm ảnh số
Ảnh trong thực tế liên tục về không gian và độ sáng, để có thể xử lý ảnh ta cần
biến đổi tín hiệu tương tự thành tín hiệu rời rạc thông qua quá trình lấy mẫu ( rời
rạc về không gian), và lượng hóa thành phần tạo thành tập hợp phần tử ảnh gọi là
quá trình số hóa.
Ảnh là tập hợp các điểm (phần tử ảnh) khi được số hóa. Khối lượng thông tin
trong một ảnh là rất lớn (đến vài trăm mêga bít /ảnh). Bản chất các thông số ảnh có
tính vector.
MATLAB là một công cụ tính toán được xây dựng trên cơ sở các phép xử lý
ma trận. Đây lại là đối tượng rất thích hợp cho việc biểu diễn các hình ảnh, trong
đó, mỗi phần tử của ma trận biểu diễn dữ liệu màu hoặc mức xám của một điểm
ảnh. Trong MATLAB, mỗi hình ảnh thường được biểu diễn bằng một ma trận hai
chiều. Mỗi phần tử của ma trận tương ứng với 1 pixel (một phần tử ảnh – picture
element – biểu diễn bằng 1 điểm trên màn hình). Điểm ảnh ở góc trên bên trái là
ứng với hàng 1, cột 1. Một số hình ảnh được biểu diễn bằng một ma trận ba chiều,
ví dụ ảnh RGB, trong đó chiều thứ ba có kích thước bằng 3, nghĩa là ma trận này
có thể chia làm 3 ma trận hai chiều, ma trận thứ nhất ứng với độ sáng màu đỏ (R –
Red) của điểm ảnh, ma trân thứ hai ứng với độ sáng màu xanh dương (B – Bue)
và ma trận thứ ba ứng với độ sáng màu lục (G – Green).
MATLAB lưu giữ các hình ảnh dưới một trong các kiểu dữ liệu sau: logical,
uint8, uint16, double. Người sử dụng có thể sử dụng các phép toán và các thao tác
cơ bản trên ma trận, chẳng hạn như truy xuất các phần tử, thay đổi kích thước, sắp
xếp, cắt bỏ một phần ma trận để tác động lên các dữ liệu hình ảnh với điều kiện
các thao tác này chấp nhận các kiểu dữ liệu hình ảnh nói trên.
Riêng với các dữ liệu uint8 và uint16, ta không thể sử dụng các phép toán số
học như cộng, trừ, nhân, chia. Trong trường hợp này, MATLAB cung cấp thêm
các hàm thực hiện các phép toán này.
2.1.2 Phần tử ảnh (pixel)

Mỗi phần tử ảnh gọi là một pixel thể hiện cường độ sáng hay mức xám trong
ảnh. Pixel là phần tử nhỏ nhất của ảnh, thường được biểu diễn bởi mảng hai chiều
f(x,y). Một ảnh bao gồm x×y điểm. Cặp tọa độ x, y tạo nên độ phân giải của ảnh.
2.1.3 Cấu trúc một file ảnh
Một file ảnh là tập hợp nhiều điểm ảnh được minh họa hình 2.1
Hình 2.1: Mảng hai chiều của một file ảnh
Vậy ảnh được xem như một ma trận tọa độ ảnh. Do đó hàm f(x,y) còn có thể
biểu diễn dưới dạng ma trận như sau:
Hay
Trong đó,
a
i,j
=
f(x=i,y=j)=f(i,j) , với M là số hàng, N là số cột.
2.1.4 Mức xám ( Gray Level)
Mức xám là kết quả sự mã hóa tương ứng một cường độ sáng của mỗi điểm
ảnh với một giá trị nhất định, mỗi pixel có thể mã hóa 8 bit (0 đến 255) hay 16, 32
hay 64 bit. Tạo thành ma trận dữ liệu.
Hình 2.2: Minh họa mức xám sau khi mã hóa
2.1.5 Ảnh chỉ số
Với cách biểu diển ảnh này, mỗi ảnh sẽ được biểu diễn bởi 2 ma trận, một ma
trận dữ liệu ảnh X và một ma trận màu (còn gọi là bản đồ màu) map. Ma trận dữ
liệu có thể thuộc kiểu uint8, uint16, hoặc double. Ma trận màu là một ma trận kích
thước m x 3 gồm các phần tử kiểu double có giá trị trong khoảng [0,1]. Mỗi hàng
của ma trận xác định các thành phần red, green, blue của một màu trong tổng số m
màu được sử dụng trong ảnh. Giá trị của một phần tử trong ma trận dữ liệu cho
biết màu của điểm ảnh đó là màu nằm ở hàng nào trong ma trận màu. Nếu ma trận
dữ liệu thuộc kiểu double, giá trị 1 sẽ tương ứng với hàng thứ 1 trong bảng màu,
giá trị thứ 2 tương ứng với màu ở hàng thứ 2, Nếu ma trận dữ liệu thuộc kiểu
hoặc uint16, giá trị 0 ứng với hàng 1, giá trị 1 tương ứng với hàng 2, Riêng với

kiểu uint16, MATLAB không hổ trợ đủ các phép toán so với kiểu uint8 nên khi
cần xử lý ta cần chuyển sang kiểu dữ liệu uint8 hoặc double bằng các hàm
imapprox hoặc im2double.
2.1.6 Ảnh biểu diễn theo độ sáng
Mỗi ảnh được biểu diễn bởi một ma trận hai chiều, trong đó giá trị của mỗi
phần tử cho biết độ sáng (hay mức xám) của điểm ảnh đó. Ma trận này có thể
thuộc một trong các kiểu uint8, uint16, hoặc double. Trong đó, giá trị nhỏ nhất (0)
ứng với màu đen còn giá trị lớn nhất (255 hoặc 65535 hoặc 1 tùy kiểu dữ liệu là
uint8, uint16, hay double) ứng với màu trắng. Như vậy, ảnh biểu diễn theo kiểu
này còn gọi là ảnh “trắng đen” hoặc ảnh gray scale.
2.1.7 Ảnh trắng đen hay ảnh nhị phân
Ảnh trắng đen sau khi mã hóa tạo thành ma trận chỉ nhận giá trị logic (0,1),
tương ứng 0 (trắng) và 1 (đen).
Hình 2.3: Minh họa ảnh nhị phân sau khi mã hóa
2.1.8 Ảnh RGB
Ảnh RGB còn gọi là ảnh “truecolor” do tính trung thực của nó. Ảnh này được
biểu diễn bởi một ma trận ba chiều kích thước m x n x 3, với m x n là kích thước
ảnh theo pixels. Ma trận này định nghĩa các thành phần màu red, green, blue cho
mỗi điểm ảnh, các thành phần của nó có thể thuộc kiểu uint8, uint16, hoặc double.
Ví dụ, điểm ảnh ở vị trí (10,5,1), (10,5,2), (10,5,3). Các file ảnh hiện nay thường
sử dụng 8 bit cho một thành phần màu, nghĩa là mất 24 bit cho mỗi điểm ảnh
(khoảng 16 triệu màu).
Theo lý thuyết màu do Thomas đưa ra mọi màu đều có thể tổ hợp từ 3 màu cơ
bản sau:
Red :
λ
(R) = 700nm.
Green :
λ
(G) = 546.1 nm.

Blue :
λ
(B) = 435.8 nm.
Cũng theo tổ chức quốc tế về chuẩn hóa màu CIE (Commision Internationaled
Eclairage ) đã đưa ra một số tiêu chuẩn để biểu diễn màu.
Hình 2.4: Mô hình màu RGB
Mỗi màu cơ bản được mã hóa bởi 8 bit, vậy với ba màu phối hợp nhau tạo
thành 255x255x255 =16.581.375 màu thứ cấp mà mắt người có thể cảm nhận
được.
Ảnh màu được tạo thành từ 3 mức xám Red, Green, Blue. Do đó ảnh màu
RGB mỗi Pixel có 3 xám Red, Green, Blue khác nhau chứa dữ liệu 8 bit [0;255]
hay dữ liệu 16 bit [0;65535].
Hình 2.5: Minh họa ảnh màu sau khi mã hóa
2.1.9 Dãy ảnh đa khung
Trong một số ứng dụng, người sử dụng có thể có nhu cầu lưu một chuỗi các
ảnh ghi nhận tại những thời điểm liên tiếp nhau để tiện cho việc hiển thị, ví dụ ảnh
từ các đoạn video hoặc các lát cắt từ máy chụp ảnh cộng hưởng từ, Để phục vụ
cho các ứng dụng này, MATLAB cho phép ta lưu nhiều ảnh thành một dãy, mỗi
ảnh gọi là một frame, bằng hàm cat.
>> multi = cat(4, A1, A2, A3, ) % A1, A2, A3, là các ảnh cần lưu.
Ta cũng có thể truy xuất đến một frame trong dãy ảnh đa frame này theo cách
như sau:
>> frm3 = multi(:,:,:,3) % truy xuất frame thứ 3
2.2 CÁC KỸ THUẬT XỬ LÝ ẢNH SỐ
2.2.1 Mục đích của việc xử lý ảnh số
Mục đích đặt ra cho việc xử lý ảnh bao gồm hai mục đích:
 Thứ nhất: Biến đổi ảnh hay sự tăng cường ảnh nhằm thu lại ảnh tốt hơn.
Để rồi từ đó nhận được nhiều thông tin về ảnh hơn, ta có thể quan sát và
đánh giá được.
 Thứ hai: Nhận dạng ảnh hay đón nhận ảnh một cách tự động.

2.2.2 Kỹ thuật nâng cao chất lượng ảnh
Nâng cao chất lượng ảnh là một bước quan trọng tạo tiền đề cho xử lý ảnh.
Làm nổi bật một số đặc tính của ảnh như thay đổi độ tương phản, lọc nhiễu, nổi
biên, làm trơn biên ảnh, nhằm hoàn thiện trạng thái quan sát của một ảnh.
Tăng cường ảnh không phải là làm tăng lượng thông tin vốn có trong ảnh làm
nổi bật các đặc trưng đã chọn. Tức điều chỉnh mức xám của điểm ảnh. Dùng
phương pháp ánh xạ làm thay đổi giá trị điểm sáng.
Khôi phục ảnh bao gồm quá trình lọc ảnh, khử nhiễu do môi trường bên ngoài
hay các hệ thống thu nhận, phát hiện và lưu trữ ảnh thu được, thông qua các bộ lọc
trong miền không gian và trong miền biến đổi. Nhằm làm giảm bớt các biến dạng
để khôi phục lại ảnh giống như ảnh gốc.
2.2.3 Kỹ thuật biến đổi ảnh
Thuật ngữ biến đổi ảnh thường dùng để nói tới một lớp các ma trận đơn vị, và
các kỹ thuật dùng để biến đổi ảnh làm giảm thứ nguyên của ảnh để việc xử lý ảnh
được hiệu quả hơn. Có nhiều loại biến đổi được dùng như: biến đổi Fourier, Sin,
Cosin,…
2.2.4 Kỹ thuật phân tích ảnh
Phân tích ảnh liên quan đến việc xác định các độ đo định lượng của một ảnh để
đưa ra một mô tả đầy đủ về ảnh. Nhằm mục đích xác định biên của ảnh. Có nhiều
kỹ thuật khác nhau như lọc vi phân hay dò theo quy hoạch động. Người ta cũng
dùng các kỹ thuật để phân vùng ảnh. Từ ảnh thu được, người ta tiến hành kỹ thuật
tách hay hợp dựa theo các tiêu chuẩn đánh giá như: màu sắc, cường độ… Phương
pháp được biết đến như nhị phân hóa đường biên. Cuối cùng, phải kể đến các kỹ
thuật phân lớp dựa theo cấu trúc.
2.2.5 Kỹ thuật nhận dạng ảnh
Nhận dạng ảnh là quá trình liên quan đến các mô tả đối tượng mà người ta
muốn đặc tả nó. Quá trình nhận dạng thường đi sau quá trình trích chọn các đặc
tính chủ yếu của đối tượng. Có hai kiểu mô tả đối tượng :
 Mô tả tham số ( nhận dạng theo tham số).
 Mô tả theo cấu trúc ( nhận dạng theo cấu trúc).

Người ta đã áp dụng kỹ thuật nhận dạng khá thành công với nhiều đối tượng
khác nhau như : nhận dạng ảnh vân tay, nhận dạng chữ (chữ cái, chữ số, chữ có
dấu).
2.3 CÁC PHƯƠNG PHÁP XỬ LÝ ẢNH SỐ
2.3.1 Chuyển ảnh màu RGB thành ảnh mức xám ( Gray level)
Ảnh gốc thường là ảnh màu 24 bit màu nên khó nhận dạng ta cần phải chuyển
về ảnh xám dữ liệu 8 bit để dễ nhận dạng hơn. Nghĩa là mỗi pixel được biểu diễn
256 cấp độ xám theo công thức:
X= 0,2125*R + 0,7145*G + 0,0721*B
Quá trình chuyển đổi mức xám tuy có làm mất đi một số thông tin nhưng cũng
có thể chấp nhận được.
2.3.2 Phương pháp lọc nhiễu ảnh
Nhiễu có thể coi như sự đột biến của một điểm ảnh so với các điểm lân cận.
Lọc nhiễu ảnh nhằm mục đích loại bỏ các đột biến của ảnh, ở đây ta sử dụng
phương pháp lọc số dựa trên tính dư thừa thông tin không gian, các pixel lân cận
có thể có cùng hoặc gần cùng một số đặc tính. Trong kỹ thuật này, người ta sử
dụng một mặt nạ và di chuyển khắp ảnh gốc. Tùy theo cách tổ hợp điểm đang xét
với các điểm lân cận mà ta có kỹ thuật lọc tuyến tính hay phi tuyến. Điểm ảnh chịu
tác động của biến đổi là điểm ở tâm mặt nạ.
2.3.2.1 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ố. Nguyên tắc lọc
theo tổng trọng số được minh họa như sau :
1 2 3
4 5 6
7 8 9
u u u
u u u
u u u
 
 

 
 
 
*
1 2 3
4 5 6
7 8 9
h h h
h h h
h h h
 
 
 
 
 
Tâm mặt nạ là điểm
5
u
. Nói chung người ta sử dụng nhiều kiểu mặt nạ khác
nhau. Mỗi kiểu mặt nạ sẽ tương ứng với một bộ lọc nhất định .
2.3.2.2 Lọc phi tuyến
Khác với lọc tuyến tính, kỹ thuật lọc phi tuyến coi một điểm ảnh kết quả không
phải là tổ hợp tuyến tính của các điểm lân cận. Các bộ lọc phi tuyến cũng hay
được dùng trong tăng cường ảnh vì chúng có khả năng loại được nhiễu xung.
Người ta hay dùng bộ lọc trung vị, giả trung vị và lọc ngoài.
2.3.2.3 Lọc trung vị (Median Filtering)
Một trong những khó khăn chính trong các phương pháp làm trơn nhiễu là nó
làm mờ các đường biên và các chi tiết sắc nét của ảnh (vì chúng tương ứng với
thành phần tần số cao của ảnh, khi cho ảnh qua bộ lọc thông thấp thì không chỉ có
nhiễu bị loại trừ mà thành phần tần số cao của ảnh cũng bị suy hao). Lọc trung vị

có ưu điểm là lọc nhiễu nhưng không làm mờ ảnh. Trong kỹ thuật này, mức xám
của điểm ảnh trung tâm được thay thế bằng trung vị của một chuỗi các mức xám
của các điểm ảnh lân cận thay vì là giá trị trung bình. Trung vị m của một chuỗi
các giá trị là một giá trị sao cho một nửa các giá trị trong chuỗi nhỏ hơn m và một
nửa lớn hơn m.
Được sử dụng chủ yếu cho giảm nhiễu.
 Một bộ lọc trung vị cũng dựa vào việc dùng một cửa sổ di chuyển trên ảnh,
và giá trị xám pixel đầu ra được thay thế bởi trung vị của các pixel trong
cửa sổ đó.
 Thuật toán:
 Các pixel trong của sổ sẽ được sắp xếp từ nhỏ tới lơn.
 Nếu kích thước của cửa sổ =JxK là lẻ thì vị trí trung vị là (JxK +1) / 2 , ngược
lại thì vị trí trung vị là JxK / 2.
Phương pháp medium filter (lọc trung vị) dùng để lọc nhiễu trước khi qua bước
xử lý tiếp theo, như là phát hiện biên. Median filter là một kỹ thuật lọc số tuyến
tính.
Median filter là một bước phổ biến trong xử lý ảnh .
Trung vị được viết với công thức :
v(m,n) = trung vị (y(m-k),n-1)
Kỹ thuật này đòi hỏi giá trị các điểm ảnh trong của sổ phải sắp xếp theo thứ tự
tăng hay giảm dần so với giá trị trung bình. Kích thước của của sổ thường được
chọn sao cho điểm ảnh trong của sổ là lẻ. Các cửa sổ hay dùng là của sổ có kích
thước 3x3, hay 5x5, hay 7x7
Ví dụ:
Nếu y(m) = {2,3,8,4,2} và cửa sổ W = (-1,0,1), ảnh thu được sao cho trung vị s là :
v(m) = (2,3,4,4,2)
Do đó :
v[0] = 2<giá trị biên>
v[1] = trung vị (2,3,8) = 3
v[2] = trung vị (3,4,8) = 4

v[3] = trung vị (8,4,2) = 4
v[4] = 2<giá trị biên>
2.3.3 Phân vùng ảnh
Phân vùng ảnh là bước then chốt trong xử lý ảnh. Giai đoạn này nhằm phân
tích ảnh thành những thành phần có cùng tính chất nào đó dựa theo biên hay các
vùng liên thông có thể là cùng mức xám, cùng màu, hay cùng độ nhám, …
Nếu phân vùng dựa trên các vùng liên thông ta gọi là kỹ thuật phân vùng dựa
theo miền đồng nhất. Nếu ta phân vùng dựa vào biên gọi là kỹ thuật phân vùng
biên. Ngoài ra còn có các kỹ thuật khác như phân vùng dựa vào biên độ, phân
vùng theo kết cấu.
2.3.3.1 Phương pháp phân vùng ảnh
Để phân tích các đối tượng trong ảnh, chúng ta cần phải phân biệt được các đối
tượng cần quan tâm với phần còn lại của ảnh. Những đối tượng này có thể tìm
được nhờ các kỹ thuật phân đoạn ảnh, theo nghĩa tách phần tiền ảnh ra hậu ảnh.
Chúng ta cần phải hiểu được là:
 Không có kỹ thuật phân đoạn nào là vạn năng, theo nghĩa có thể áp dụng cho
mọi loại ảnh.
 Không có kỹ thuật phân đoạn nào là hoàn hảo.
Có thể hiểu phân vùng là tiến trình chia ảnh thành nhiều vùng, mỗi vùng chứa
một đối tượng hay nhóm đối tượng cùng kiểu. Chẳng hạn, một đối tượng có thể là
một ký tự trên 1 trang văn bản hoặc một đoạn thẳng trong một bản vẽ kỹ thuật
hoặc một nhóm đối tượng có thể biểu diễn một từ hay hai đoạn thẳng tiếp xúc
nhau. Ta có một số phương pháp phân vùng ảnh như sau:
Thuật toán gán nhãn thành phần liên thông:
Kỹ thuật này gán cho mỗi thành phân liên thông của ảnh nhị phân một nhãn
riêng biệt. Nhãn thường là các số tự nhiên bắt đầu từ một đến tổng số các thành
phần liên thông có trong ảnh. Giải thuật quét ảnh từ trái sang phải và từ trên
xuống dưới.
Trong dòng thứ nhất của các pixel đen, một nhãn duy nhất được gán cho mỗi
đường chạy liên tục của pixel đen. Với mỗi pixel đen của các dòng tiếp theo, các

pixel lân cận trên dòng trước và pixel bên trái được xem xét. Nếu bất kì pixel lân
cận nào được gán nhãn, nhãn tương tự được gán cho pixel đen hiện thời, ngược lại
nhãn tiếp theo chưa được sử dụng được chọn. Thủ tục này được tiếp tục cho tới
dòng cuối của ảnh.
Ảnh được nhận về là ảnh nhị phân, trong đó có nhiều đối tượng khác nhau ta
tiến hành chọn ra đối tượng nào là biển số còn đối tượng nào không phải biển số.
Dựa vào thuật toán gắn nhãn liên tiếp các đối tượng, cụ thể như sau:
Thuật toán phân vùng ảnh dựa trên kỹ thuật đánh nhãn liên tiếp.
 Mặt nạ ảnh với 4 điểm lân cận.
 Mặt nạ ảnh với 8 điểm lân cận.
 Mặt nạ với 4 điểm lân cận và 8 điểm lân cận.
Quy ước khi quét ảnh:
 Nếu điểm ảnh có giá trị là 0 thì gọi là điểm ảnh nền.
 Nếu điểm ảnh có giá trị là 1 thì gọi là điểm ảnh nổi.
 Ta chỉ đánh nhãn các điểm ảnh nổi.
Quá trình đánh nhãn ảnh được thực hiện theo các bước sau:
 Bước 1: Tiến hành quét lần lượt tất cả các điểm ảnh từ trái sang phải, từ trên
xuống dưới. Nếu gặp điểm ảnh nền thì bỏ qua, nếu gặp điểm ảnh nổi thì tiến
hành đánh nhãn. Trước khi đánh nhãn cho mỗi điểm ảnh nổi, ta cần quan tâm
đến giá trị của điểm ảnh phía trên và điểm ảnh bên trái của điểm ảnh ta đang
xét. Nếu các điểm ảnh này đã được đánh nhãn thì điểm ảnh đang xét được đánh
nhãn trùng với điểm ảnh trên hoặc điểm ảnh bên trái đó. Nếu các điểm ảnh bên
trên và điểm ảnh bên trái là các điểm ảnh nền thì ta đánh nhãn mới cho điểm
ảnh đang xét.
 Bước 2: Sau khi đánh nhãn tất cả các điểm ảnh nổi, ta cần nhóm các điểm ảnh
ở gần nhau nhưng lại được đánh nhãn khác nhau lại với nhau.
 Bước 3: Thực hiện quét lại và đánh nhãn mới cho các nhóm điểm ảnh vừa
được nhóm lại ở trên.
2.3.3.2 Khái niệm biên
Biên là một vấn đề chủ yếu trong phân tích ảnh vì các kỹ thuật ảnh chủ yếu

dựa vào biên. Một điểm ảnh có thể coi là biên nếu ở đó có sự thay đổi đột ngột về
mức xám. Tập hợp các điểm tạo thành biên hay đường bao của ảnh.
2.3.3.3 Thuật toán dò biên tổng quát
Biểu diễn đối tượng ảnh theo chu tuyến thường dựa trên các kỹ thuật dò biên.
Có hai kỹ thuật dò biên cơ bản. Kỹ thuật thứ nhất xét ảnh biên thu được từ ảnh
vùng sau một lần duyệt như một đồ thị, sau đó áp dụng các thuật toán duyệt cạnh
đồ thị. Kỹ thuật thứ hai dựa trên ảnh vùng, kết hợp đồng thời quá trình dò biên và
tách biên. Ở đây ta quan tâm cách tiếp cận thứ hai. Trước hết, giả sử ảnh được xét
chỉ bao gồm một vùng ảnh 8 liên thông ℑ, được bao bọc bởi một vành đai các

×