1. Trang chủ
  2. » Công Nghệ Thông Tin

Nhận dạng biển số xe sử dụng thư viện opencv

53 565 5

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 53
Dung lượng 3,15 MB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

Đây là toàn văn đạt giải khuyển khích cuộc thi STKT cấp tỉnh QB và giải nhì Cuộc thi tìm kiếm tài năng khoa học trẻ QBU và đây là đồ án tốt nghiệp của nhiều sinh viên ngành IT sử dụng các công cục và các giải thuật nếu bạn nào cần demo hay code thì có thể liên hệ mình qua email nhé

Trang 1

MỤC LỤC

Contents

MỤC LỤC 1

DANH MỤC HÌNH ẢNH 3

MỞ ĐẦU 5

1 Lý do chọn đề tài: 5

2 Giới hạn đề tài: 6

3 Mục tiêu: 6

4 Phương pháp nghiên cứu: 6

5 Ý nghĩa khoa học và thực tiễn của đề tài 7

6 Bố cục đề tài: 7

CHƯƠNG 1: NGHIÊN CỨU TỔNG QUAN 8

1.1 Bài toán Nhận dạng biển số xe Ôtô 8

1.2.1.2 Tổ chức thư viện OpenCV: 8

1.2.2 Cài đặt OpenCV 3.1 trên Visual C++ 2015: 9

CHƯƠNG 2: PHÂN TÍCH HỆ THỐNG ỨNG DỤNG 14

2.1 Chụp ảnh bằng camera 14

2.1.1 Độ phân giải ( resolution) 14

2.1.2 Số điểm ảnh ( CCD Total Pixels ) 14

2.1.3 Điều kiện hoạt động của thiết bị: 14

2.1.3.1 Cường độ ánh sáng nhỏ nhất (Minimum Illumination): 14

2.1.3.2 Nguồn cung cấp (Power Supply): 14

2.2 Xác định vùng chứa biển số xe và tách biển số 15

2.2.1 Tổng quan về tách biển số: 15

2.2.2 Tìm vùng màu trắng: 18

2.2.3 Xác định vùng chứa biển số: 21

2.2.4 Cắt vùng chứa biển số: 22

2.2.5 Tìm vùng chứa ký tự: 23

Trang 2

2.2.6 Cắt biển số chính xác: 25

2.3 Phân đoạn ký tự 27

2.3.1 Tổng quan về phân đoạn ký tự: 27

2.3.2 Nhị phân biển số xe: 27

2.3.3 Phân đoạn ký tự: 29

2.3.3.1 Tách riêng từng ký tự 29

2.3.3.2 Các giai đoạn cắt ký tự 30

2.4 Nhận dạng ký tự 31

2.4.1 Tổng quát nhận dạng ký tự: 31

2.4.2 Lựa chọn phương pháp: 32

2.4.2.1 Phương pháp nhận dạng sử dụng độ tương quan chéo (cross correlation): 32

2.4.2.2 Phương pháp ứng dụng SVM (Surport Vector Machine): 32

2.4.3 Mô hình SVM (Surport Vector Machine): 33

2.4.3.1 Thuật toán chặt khúc 33

2.4.3.2 Thuật toán phân rã 33

2.4.3.3 Thuật toán SMO 34

2.4.4 Cách thức hoạt động của SVM(Surport Vector Machine) 34

2.4.4.1 Khái niệm về phương pháp SVM 34

2.4.4.2 Cách thức hoạt động của mô hình SVM 35

2.4.4.3 Tính toán đặc trưng trong ảnh 35

2.4.4.4 Huấn luyện mô hình SVM 36

CHƯƠNG 3: PHÁT TRIỂN ỨNG DỤNG 42

3.3 DEMO chương trình 45

KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN 46

KẾT QUẢ THỬ DEMO CỦA HỆ THỐNG 47

TÀI LIỆU THAM KHẢO 49

Trang 4

DANH MỤC HÌNH ẢNH

Hình 1.2.2.1 Giao diện thiết lập liên kết 1 10Hình 1.2.2.2 Giao diện thiết lập liên kết 2 10Hình 1.2.2.3 Giao diện thiết lập liên kết 3 11Hình 1.2.2.4 Giao diện thiết lập liên kết 4 11Hình 1.2.2.5 Giao diện thiết lập liên kết 5 12Hình 1.2.2.6 Giao diện thiết lập liên kết 6 12Hình 1.2.2.7 Opencv3.1 trên Visual Studio C++Giao diện test thử sau khi cài đặt

Hình 2.2.2.7 Ảnh chứa vùng Contourns

Hình 2.2.4.1 Ảnh xác định các hình chữ nhật về

quanh vùng trắngHình 2.2.5.1 Ảnh hệ thống xác định nhầm vùng

chứa biển số xe

Trang 5

Hình 2.2.5.2 Nhận dạng ký tự để lọc ra vùng ảnh

chứa ký tựHình 2.2.5.3 Xác định được vùng chứa biển số xeHình 2.2.6.1 Biển số sau khi được cắt hoàn chỉnhHình 2.2.6.2 Giải thuật cắt biển số chính xác, sau khi cắt

được biển số Hình 2.3.1.1 Sơ đồ khối phân đoạn ký tự

Hình 2.3.2.1 Ảnh sau khi được nhị phân

Hình 2.3.2.2 Giải thuật nhị phân biển số

Hình

2.3.3.1.1

Các giai đoạn trong việc phân tách các

ký tựHình

2.3.3.1.2 Các ký tự được cắt sau khi tìm thấyvùng biển sốHình

2.3.3.2.1

Dùng các hình chữ nhật để khoanh

từng ký tựHình

Trang 6

MỞ ĐẦU

1 Lý do chọn đề tài:

Ngày nay với sự ra đời của Cách mạng công nghiệp lần thứ 4 đánh dấu sựphát triển mạnh mẽ trên các lĩnh vực khoa học công nghệ Trí tuệ nhân tạo đượcxem là lĩnh vực quan trọng đóng vai trò then chốt cho sự phát triển của nhânloại

Trên thế giới, các nước phát triển bắt đầu nghiên cứu thử nghiệm các hệthống thông minh ứng dụng trí tuệ nhân tạo trên các lĩnh vực như Bệnh việnthông minh, Ô tô không người lái, Bãi giữ xe thông minh đã mang lại kết quảkhá khả quan

Tại Việt Nam nhiều nhà khoa học cũng đang hoạt động nghiên cứu các hệthống thông minh này để áp dụng cho tình hình thực tế tại nước ta

Qua quá trình tìm hiểu và nghiên cứu nhóm nhận thấy: nhu cầu đi lại củacon người ngày càng tăng, lưu lượng giao thông ngày càng lớn Với số lượngphương tiện giao thông không ngừng gia tăng qua các năm, việc quản lý cácphương tiện giao thông gặp rất nhiều khó khăn đòi hỏi phải có hệ thống thôngminh giúp cho việc quản lý các phương tiện giao thông một cách dễ dàng hiệuquả Một trong những hệ thống đó là hệ thống tự động nhận dạng biển số xeÔtô

Trên thực tế hệ thống này đã được xây dựng từ những năm trước nhưng cònmắc phải nhiều lỗi Một số hệ thống trước đây thường xảy ra lỗi cắt sai vùngchứa biển số dẫn đến quá trình nhận dạng và cho kết quả không chính xác

Trang 7

Chính vì thế chúng tôi đã lựa chọn đề tài “ Nhận dạng biển số xe Ôtô dựa trên công cụ Opencv ” nhằm giải quyết bài toán nhận dạng biển số xe ôtô và khắc

phục các lỗi cắt sai vùng chứa biển số của một số hệ thống trước đây Giải quyếtbài toán về hình ảnh rất phức tạp và đa dạng

2 Giới hạn đề tài:

Việc có nhiều biển số xe với định dạng và độ sáng khác nhau gây khó khăncho việc nhận dạng Do quá trình nhận dạng dựa vào phương pháp xử lý ảnh vàtrích xuất biển số từ ảnh chụp nên độ sáng khác nhau làm tăng độ phức tạp trongquá trình nhận dạng

Do thời gian thực hiện đề tài không cho phép nên chúng tôi chỉ giới hạn cácbiển số và điều kiện như sau:

➢ Biển số có chữ đen, nền trắng, là biển số 1 hàng của ôtô và không quá 8 ký tự

➢ Biển số phải còn nguyên vẹn, không bị tróc sơn hay rỉ sét, không bị chekhuất

➢ Góc nghiêng của biển số không quá 50 so với phương ngang

➢ Hình chụp biển số không bị mờ

➢ Không bị nhiễu bởi ánh sáng làm ảnh chụp bị chói

3 Mục tiêu:

Trong đề tài này, chúng tôi đã đặt những mục tiêu sau:

➢ Hạn chế những vấn đề bất cập của việc nhận dạng không chính xác hiện nay

Trang 8

➢ Xây dựng một mô hình hệ thống nhận dạng biển số xe tự động.

Để đạt được những mục tiêu trên, chúng tôi đã tiến hành các công việc như sau:

➢ Tìm hiểu về quá trình xử lý và nhận dạng ảnh

➢ Tìm hiểu các hệ thống nhân dạng biển số xe đã được áp dụng ở Việt Nam

4 Phương pháp nghiên cứu:

Phương pháp lý thuyết:

- Tìm hiểu thư viện OpenCV

- Tìm hiểu cách tích hợp OpenCV vào Visual C++

- Tìm hiểu các quá trình nhận dạng và xử lý ảnh dựa trêncông cụ Opencv

- Nghiên cứu phương pháp SVM trong huấn luyện nhận dạng

ký tự chữ số

- Nghiên cứu các giải thuật, kỹ thuật xử lý nhận dạng ký tựchữ số

Phương pháp thực nghiệm:

- Tiến hành phân tích và xây dựng hệ thống Nhận dạng biển

số xe Ôtô dựa trên công cụ Opencv

- So sánh và đánh giá kết quả đạt được

5 Ý nghĩa khoa học và thực tiễn của đề tài

Về khoa học: Kết quả nghiên cứu của đề tài góp phần mở rộng cho các kỹ

thuật xử lý nhận dạng các biển số xe, các phương pháp nhận dạng sử dụng độ

tương quan chéo, các thuật toán chặt khúc và phân rã

Về thực tiễn: Hệ thống nhận dạng biển số xe được ứng dụng trong các mô

hình bãi quản lý xe thông minh để cấp phát vé tự động hay sử dụng trong nhậndạng điều tra các xe ô tô vi phạm lẩn trốn, ứng dụng rộng rãi trong các trạm thuphí Hệ thống có thể được bố trí tại các trạm bến thu phí đường bộ hay cáccamera giao thông nhằm nhận dạng hay phát hiện các xe tình nghi hay vi phạmluật an toàn giao thông

Trang 9

6 Bố cục đề tài:

Đề tài nghiên cứu gồm 3 chương chính:

- Chương 1: Nghiên cứu tổng quan

Trong chương này chúng tôi trình bày tổng quan về bài toán nhận dạngbiển số xe ôtô và công cụ hỗ trợ Opencv

- Chương 2: Phân tích hệ thống ứng dụng

Chương 2 chúng tôi phân tích và làm rõ các tiến trình nhận dạng biển số

từ quá trình xác định vùng chứa biển sô, tách biển số, phân đoạn ký tự vàcuối cùng so sánh tập dữ liệu huấn luyện để đưa ra kết quả nhận dạng biển

số

- Chương 3: Phát triển ứng dụng

Lựa chọn công cụ hỗ trợ, vai trò chức năng của các file dữ liệu huấnluyện, các button sử dụng trong giao diện ứng dụng

Trang 10

CHƯƠNG 1: NGHIÊN CỨU TỔNG QUAN 1.1 Bài toán Nhận dạng biển số xe Ôtô

- Nhận dạng biển số xe là lĩnh vực được áp dụng cho các hệ thống bãi giữ xethông minh trong tương lai Giải quyết bài toán nhận dạng biển số xe Ôtô là tiền

đề cho quá trình tự động nhận dạng biển số xe, thay thế cho các hệ thống quản

lý bãi giữ xe bán tự động hiện nay

- Để giải quyết được bài toán Nhận dạng biển số xe, yêu cầu đặt ra là phải giảiquyết được 3 bài toán con Bài toán con thứ nhất là xác định vùng chứa biển số

xe và tách biển số Bài toán con thứ hai là phân đoạn từng ký tự Bài toán conthứ 3 là nhận dạng ký tự Hướng giải quyết cho ba bài toán con được chúng tôiphân tích rõ trong chương tiếp theo

- OpenCV là một thư viện mã nguồn mở phục vụ cho việc

nghiên cứu hay phát triển về thị giácmáy tính Tối ưu hóa và xử lí các ứngdụng trong thời gian thực Giúp choviệc xây dựng các ứng dụng xử líảnh, thị giác máy tính, một cáchnhanh hơn OpenCV có hơn 500 hàm khác nhau, được chia làmnhiều phần phục vụ các công việc như: xử lí hình ảnh y tế, anninh, camera quan sát, nhận diện, robots,

1.2.1.2 Tổ chức thư viện OpenCV:

Hình 1.2.1.2 Tổ chức thư viện OpenCV

1.2 Thư viện hỗ trợ OpenCV:

1.2.1 Giới thiệu về OpenCV:

1.2.1.1 Khái niệm:

Trang 11

CXCORE chứa các định nghĩa kiểu dữ liệu cơ sở Ví dụ, các cấu trúc dữ liệu

cho ảnh, điểm và hình chữ nhật được định nghĩa trong cxtypes.h CXCORE

cũng chứa đại số tuyến tính và phương pháp thống kê, chức năng duy trì và điềukhiển chuỗi Một số ít, các chức năng đồ họa để vẽ trên ảnh cũng được đặt ởđây

- CV chứa các thuật toán về xử lý ảnh và định kích cỡ camera Các chức năng

hình họa máy tính cũng được đặt ở đây

CVAUX được mô tả trong tài liệu của OpenCV như chứa các mã cũ và thứ

nghiệm Tuy nhiên, các giao diện đơn cho sự nhận diện ảnh ở trong module này.Code sau này chúng được chuyên dụng cho nhận diện mặt và chúng được ứngdụng rộng rãi cho mục đích đó

- HIGHGUI và CVCAM được đặt trong cùng thư mục là “otherlibs”.

+ HIGHGUI : chứa các giao diện vào ra cơ bản, nó cũng chứa các khả năng

cửa sổ mở rộng và vào ra video

+ CVCAM : chứa các giao diện cho video truy cập qua DirectX trên nền

Windows 32 bits

- ML: Chứa các thuật toán Machine Learning (học máy)

1.2.2 Cài đặt OpenCV 3.1 trên Visual C++ 2015:

Bước 1: Download, cài đặt openCV 3.1 và Visual C++ 2015

Bước 2: Mở giao diện Visual C++ 2015 , tiến hành tạo 1Newproject và chuẩn bị 1 file test.cpp mới

Bước 3: Cài đặt thiết lập các đường dẫn để lấy các hàm và thưviện trong OpenCV, thứ tự các bước trong các hình sau:

Trang 12

Hình 1.2.2.1 Giao diện thiết lập liên kết 1

Hộp thoại properties xuất hiện, tiến hành thêm 1 số đường dẫntới các file bin, lib, include

Trang 13

Hình 1.2.2.3 Giao diện thiết lập liên kết 3

Hình 1.2.2.4 Giao diện thiết lập liên kết 4

Trang 14

Hình 1.2.2.5 Giao diện thiết lập liên kết 5

Tiếp theo, chọn ok để hoàn tất quá trình thiết lập đường dẫn tớithư viện OpenCV

Hình 1.2.2.6 Giao diện thiết lập liên kết 6

Trang 15

Sau khi hoàn tất quá trình thiết lập, tiến hành chạy thửtest1.cpp ta được giao diện như sau:

Hình 1.2.2.7 Giao diện test thử sau khi cài đặt Opencv3.1

trên Visual Studio C++ 2015

Trang 16

CHƯƠNG 2: PHÂN TÍCH HỆ THỐNG ỨNG DỤNG

2.1 Chụp ảnh bằng camera

2.1.1 Độ phân giải ( resolution)

Độ phân giải càng lớn thì chất lượng hình ảnh càng nét Thường thì trong cácứng dụng không cần thiết phải quan sát thật rõ nét thì độ phân giải 420 TV Lines

là hoàn toàn có thể chấp nhận được

2.1.2 Số điểm ảnh ( CCD Total Pixels )

Thông số này nói lên chất lượng hình ảnh, số điểm ảnh càng lớn thì chấtlưọng hình ảnh càng tốt, tuy nhiên, chất lượng hình ảnh càng tốt thì cũng đồngnghĩa với dung lưọng ảnh càng lớn, và sẽ tốn bộ nhớ lưu trữ cũng như ảnhhưỏng đến tốc độ đường truyền

2.1.3 Điều kiện hoạt động của thiết bị:

2.1.3.1 Cường độ ánh sáng nhỏ nhất (Minimum Illumination):

Thường được tính bằng Lux Thông số này nói lên rằng, Camera chỉ có thểhoạt động ở cường độ ánh sáng lớn hơn cường độ ánh sáng nhỏ nhất Trong điềukiện quá tối, nếu không phải là Camera có chức năng hồng ngoại thì sẽ khônghoạt động được

o Ánh nắng mặt trời: 4000 lux, có mây: 1000lux

o Ánh sáng đèn tuýp: 500 lux, có mây: 300lux

o Ánh sáng đèn tuýp đỏ 500 lux, trắng (300 lux) trắng sáng 1lux

o Đêm không trăng: 0.0001 Lux

Xin chú ý đến loại Camera quan sát có chức năng Auto Iris (Tự động hiệu chỉnh

ánh sáng) Đặc điểm của Camera loại này là chỉ với 1 nguồn sáng nhỏ, nó có thể

tự động khuyếch đại nguồn sáng đó lên để có thể quan sát được

2.1.3.2 Nguồn cung cấp (Power Supply):

Hiện nay đa số các Camera quan sát đều dùng loại nguồn 12VDC, chỉ một số ít

Trang 17

các Camera dùng nguồn khác Tuy nhiên, bạn không phải lo lắng đến vấn đềnguồn 12VDC, vì phần lớn các công ty bán camera quan sát đều bán bộ chuyểnđổi nguồn, do đó bạn có thể sử dụng trực tiếp nguồn 220VAC.

o Operatinon Temperature: Dải nhiệt độ hoạt động

o Phần lớn các Camera quan sát đều cho phép hoạt động trong dải nhiệt độ-100C ~ 500C, nếu Camera của bạn được sử dụng trong những điều kiện khắcnghiệt như trong công nghiệp, khu vực có nhiệt độ cao thì bạn nên sử dụngcác loại Camera quan sát chuyên dụng trong công nghiệp

o Operational Humidity: Độ ẩm cho phép

o Thông thường, độ ẩm cho phép là 90% RH (độ ảm tương đối)

2.2 Xác định vùng chứa biển số xe và tách biển số

2.2.1 Tổng quan về tách biển số:

Tách biển số là một bước rất quan trọng trong quá trình nhận dạng biển số xe.Khối tách biển số xe được chia làm 2 giai đoạn chính:

➢ Giai đoạn 1: định vị trí của biển số trong ảnh chụp từ Camera

➢ Giai đoạn 2: dùng các giải thuật để cắt biển số xe ra khỏi ảnh chụp vàxoay biển số xe về phương ngang

Hình 2.2.1.1 Sơ đồ tổng quát của khối tách biển số

Việc định vị biển số xe dựa vào các tính chất của biển số như: hình dạng, màusắc của biển số so với nền Biển số xe có hình chữ nhật với kích thước chiều dài

và rộng không thay đổi Từ đó chúng ta có thể tìm các vùng có hình tứ giác

Ảnh RBG chỉchứa biển sốCắt biển số

Định vị trícủa biển số

Ảnh RBG

được chụp từ

Camera

Trang 18

trong hình, tính tỉ lệ giữa hai chiều của hình so với khoảng giá trị cho trước đểxem thử vùng đó có chứa biển số hay không Vì biển số xe có những đặc trưng

cơ bản được quy định bởi các cơ quan chức năng nên ta có thể dựa vào đặctrưng này để phân biệt với các đối tượng khác Theo quy định của bộ công an,biển số xe đằng trước của các loại xe dân dụng là một hình chữ nhật, có kích

thước 470x110 (mm), phông nền màu trắng và các kí tự chữ cái in hoa màu đen.

Các kí tự chữ số bao gồm từ 0 tới 9 và các kí tự chữ số bao gồm A, B, C, D, E,

F, G, H, K, L ,M , N, P, S, T, U, V, X, Y, Z (20 kí tự) Kết hợp hai tính chấttrên, chúng ta xác định được vùng chứa biển số

Sau khi định vị biển số xe, chúng ta tiến hành cắt biển số xe Biển số xe đượccắt theo 2 bước Bước đầu tiên là xác định vùng chứa ký tự Sau đó loại bỏ cácvùng k có ký tự vì đó không phải là vùng chứa biển số Bước hai là cắt biển số

ra khỏi vùng trên Thực hiện việc cắt biển số qua hai bước như trên làm tăng độchính xác, biển số được cắt nguyên vẹn, không cắt phạm chữ, trừ trường hợpảnh bị chói, độ tương phản không đều hoặc bị che khuất thì kết quả của việctách biển số mới không chính xác

Phần tách biển số sử dụng rất nhiều giải thuật và phương pháp xử lý đối với

ảnh số như sơ đồ sau đây:

Trang 19

Tìm đường biên của các vùng trắng ảnh

Dò là loại bỏ các khung ảnh có mật độ pixel không phù hợpChọn vùng có tỉ lệ phù hợp

Cắt các vùng có tỉ lệ phú hợp với biển số

Biến đổi sang ảnh xám (Gray)Nhị phân ảnh xám và tìm vùng

Phân tích ảnh bao quanh bằng các hình chữ nhật

Xác định các hình chữ nhật đủ với

số lượng

Trang 20

Hình 2.2.1.2 Sơ đồ chi tiết của khối tách biển số

Cắt vùng ảnh khi mà xác định đi

số hình chữ nhật đủCắt biển số chính xác

Trang 21

2.2.2 Tìm vùng màu trắng:

Vì biển số màu trắng nên người thực hiện sẽ nhị phân hóa ảnh bằng cách gắngiá trị cho các pixel trắng là 1, còn ngược lại là 0 Đầu tiên, chúng ta sẽ biến đổiảnh gốc thành ảnh xám (có mức sáng từ 0 đến 255), sau đó nhị phân hóa với mộtngưỡng thích hợp Nếu ảnh được chụp vào ban đêm hay ban ngày nhưng ít ánhsáng thì mức ngưỡng sẽ là 120 Còn ban ngày, nhiều ánh sáng là 190

Vấn đề ở đây là làm sao chúng ta nhận biết được đó là ảnh sáng hay ảnh tối?Người thực hiện đã dựa vào lược đồ mức xám (histogram – tần số xuất hiện củamức xám) của ảnh Nếu tần số xuất hiện các pixel có giá trị <64 thì đó là ảnh tối,ngược lại là ảnh sáng

Ví dụ cho hai ảnh gốc có biển số như sau:

Hình 2.2.2.1 Ảnh tối và ảnh sáng

Ảnh sau khi nhị phân hóa sẽ như sau:

Hình 2.2.2.2 Ảnh sau khi nhị phân

Trang 22

Sau khi ảnh được nhị phân như ở hình [3.4] thì để giảm độ sai lệch và rútngắn thời gian xác định vùng trắng có tỉ lệ phù hợp thì ta sử dụng 1 hình chữnhật có kích thước là 8x16 đây là tỉ lệ của hình chữ nhật so với bức ảnh Hìnhchữ nhật này sẽ chạy trên khắp toàn bộ bức ảnh để loại bỏ các vùng ảnh k chứavùng pixel trắng hay các vùng có mật độ pixel trắng thấp.

Hình 2.2.2.3 Ảnh sau khi lọc

Hình 2.2.2.4 Ảnh sau khi lọc

Trang 23

Hình 2.2.2.5 Sơ đồ thuật giải tìm và tách vùng màu trắng

Hình 2.2.2.6 Ảnh chứa vùng trắng

2.2.3 Xác định vùng chứa biển số:

Ảnh nhận được sau khi nhị phân hóa sẽ có nhiều vùng màu

Trang 24

trắng, và biển số sẽ nằm trong vùng màu trắng thỏa điều kiện:

➢ 3.5 < chiều cao / chiều ngang < 4.5

➢ 16000 ≤ S_pixel_trắng ≤ 61000

➢ 2.6 ≤ S_pixel_trắng / S_biển số ≤ 7

Với:

Chiều cao là H { H = start(i).Boundingbox(4) }

Chiều ngang là W {W = start(i).Boundingbox(3) }

Diện tích vùng trắng là S_pixel_trắng {S_pixel_trắng =start(i).Area} Diện tích biển số là S_biển số { S_biển số = W ×

H }

Khi ta tiến hành phần ngưỡng sẽ làm hiện rõ vùng biển số,trong giai đoạn này ta có thể sử dụng các phương pháp pháthiện biên

Khi có ảnh nhị phân chúng ta tiến hành tìm các vùng biển làđối tượng riêng bằng hàm findContourns (trong thư viện

OpenCV) để trích các vùng và lấy thông số của các vùng như

tọa độ điểm của các cạnh, diện tích của vùng

Hình 2.2.3.1 Ảnh chứa vùng Contourns

Trang 25

2.2.4 Cắt vùng chứa biển số:

Sau khi xác định được Contourns hay còn gọi là đường biên của các vùngtrắng thì ta tiếp tục từ các hình vẽ các hình chữ nhật sao cho điểm đầu và điểmcuối của contourns là nằm vào các góc của hình chữ nhật, như vậy kết hợp vớivùng trắng và đường cntourns thì ta có các vùng ảnh sau:

Tiến hành cắt các vùng có thể là biển số nhất trên ảnh xám đã lọc ở giai đoạn 1 đểlàm nguồn cho giai đoạn cắt ký tự để làm mẫu cho các quá trình nhận dạng ký tự (tựxây dựng) Ở giai đoạn này có thể kết hợp dùng các bài toán nhận dạng ký tự để pháthiện biển số xe

Trang 26

2.2.5 Tìm vùng chứa ký tự:

Hình 2.2.5.1 Ảnh hệ thống xác định nhầm vùng chứ biển số xe

Ý tưởng: nhận thấy các vùng biển số là các vùng đặc trưng có hình chữ nhật,

có tỉ lệ kích thước theo tiêu chuẩn Vì vậy sau khi tách ngường và tìm vùng(OpenCV hỗ trợ findContourns) ta tìm những vùng có tỷ lệ theo kích thướcgiống với tỉ lệ của biển số xe Để có thế lọc các vùng biển số một lần nữa thì tatiếp tục tìm số vùng con trên vùng biển số và so sánh với số lượng ký tự củabiển số

Tiêu chuẩn về kích thước:

Ở mỗi nước thường có tiêu chuẩn về kích thước nhất định Đối với nước ta,biển số xe qui định khá đồng đều cho mỗi loại xe, tỷ lệ chiều dài, rộng cho mỗiloại xe là như nhau

- Đối với loại xe có một hàng ký tự thì tỉ lệ dài/rộng là: 3.5  W / H  4.5

- Đối với loại xe có hai hàng ký tự thì tỉ lệ dài/rộng là: 0.8  W / H 1.4

Từ những đặc điểm này, ta có có thể xác định được các vùng con thỏa mãn thìkhả năng chứa biển số là rất cao

Số lượng ký tự trong biển số xe:

Ngày đăng: 31/03/2018, 19:53

Nguồn tham khảo

Tài liệu tham khảo Loại Chi tiết
[1] Amin Sarafraz (2004), “Detects lines in a binary image using common computer vision operation known as the Hough Transform”, University of Tehran, Iran Sách, tạp chí
Tiêu đề: “"Detects lines in a binary image using commoncomputer vision operation known as the Hough Transform
Tác giả: Amin Sarafraz
Năm: 2004
[2] [Beal72] Beale, E. M. L., "A derivation of conjugate gradients," in F.A.Lootsma, ed., Numerical methods for nonlinear optimization, London:Academic Press, 1972 Sách, tạp chí
Tiêu đề: A derivation of conjugate gradients
[5] Ondrej martinsky, “Algorithmic and mathematical principles of automatic number plate recognition systems ”, brno 2007 Sách, tạp chí
Tiêu đề: Algorithmic and mathematical principles of automaticnumber plate recognition systems
[6] Otsu, N. (1979), “A Threshold Selection Method from Gray-Level Histograms”, IEEE Transactions on Systems, Man, and Cybernetics, Vol. 9, No. 1, pp. 62-66.[7] www.Mathworks.com Sách, tạp chí
Tiêu đề: A Threshold Selection Method from Gray-LevelHistograms
Tác giả: Otsu, N
Năm: 1979
[3] [Caud89] Caudill, M., Neural Networks Primer, San Francisco, CA: Miller Freeman Publications, 1989 Khác
[4] [Cabu92] Caudill, M., and C.Butler, Understanding Neural Networks:Computer Explorations, vols. 1 and 2, cambridge, ma: the mit press, 1992 Khác

TỪ KHÓA LIÊN QUAN

w