Thuật toán trích biển số dùng phương pháp phân tích phổ tần số (Fast Fourier Transform)

Một phần của tài liệu NGHIÊN CỨU GIẢI PHÁP NHẬN DẠNG BIỂN SỐ XE TRÊN CƠ SỞ CÔNG NGHỆ XỬ LÝ ẢNH (Trang 76 - 82)

Chương 4: Xây dựng phần mềm nhận dạng biển số xe

4.2.1 Thuật toán trích biển số dùng phương pháp phân tích phổ tần số (Fast Fourier Transform)

Kỹ thuật phân tích phổ Fourier được sử dụng rộng rãi trong lĩnh vực xử lý ảnh, và thường được áp dụng để tăng cường chất lượng ảnh (ví dụ như làm trơn và làm sắc nét cho ảnh). Các ảnh có thể xem như là các hàm rời rạc của thời gian, mà phép biến đổi Fourier một chiều hay hai chiều có thể áp dụng được. Đối với xử lý ảnh số, luôn luôn tồn tại phép biến đổi Fourier và biến đổi ngược của nú. Phộp biến đổi Fourier F(u), thu được từ hàm ngừ vào f(x), với x là biến không gian số rời rạc và u là biến tần số rời rạc trong miền tần số. Phép

biến đổi Fourier rời rạc một chiều được trình bày trong biểu thức (4.1) và phép biến đổi Fourier rời rạc 2 chiều được cho trong biểu thức (4.2).

1

0

2

) 1 (

) (

M

x

M ux j

e x M f

u F

với u=0,1,…,M-1 (4.1)

 



 

 

1

0 1

0

2

) , 1 (

) (

M

x N

y

N vy M j ux

e y x MN f

u F

với u = 0,1,…,M-1 (4.2) và v = 0,1,…,N-1

Do biến đổi Fourier phức tạp, cho nên sẽ thuận tiện hơn nếu ta dùng phổ biên độ của nó, còn được gọi là phổ Fourier, cho bởi biểu thức 4.3. Dạng phổ thường được dùng là phổ năng lượng hay phổ mật độ, bằng bình phương của phổ Fourier, cho bởi biểu thức 4.4

 2( ) 2( )21

| ) (

|F uR uI u (4.3)

) ( ) (

| ) (

| )

(u F u 2 R2 u I2 u

P    (4.4)

Chúng ta cũng cần chú ý đến mối liên hệ giữa miền không gian và miền tần số:

x u M

 

 1

(4.5)

y v N

 

 1

(4.6) Do các mối liên hệ này mà các mẫu có sự thay đổi cường độ (tỉ lệ thay đổi mức xám) trong ảnh có thể liên quan tới các tần số trong phép biến đổi Fourier, bởi vì tần số liên hệ trực tiếp đến tỉ lệ thay đổi.

Do đặc điểm biển số xe mô tô ở Việt Nam hầu hết là nền màu trắng, chữ màu đen, nên quá trình trích biển số trong ảnh có nền phức tạp trở nên dễ dàng hơn. Muốn trích được biển số xe trong ảnh, chúng ta phải làm thế nào đó lấy được tọa độ (trên, dưới, trái, phải ) tương ứng (top, bottom, left, right) của biển số

Để cực đại hóa xác suất tìm các hàng đi qua trong ảnh đi qua biển số xe, chúng ta tính trung bình biểu đồ cho các tần số trong khoảng [u1, u2] mà chúng ta dự đoán các ký tự trong biển số xe chiếm ưu thế. Sau khi phân tích biểu đồ ta lấy được vị trí đỉnh (top) và đáy (bottom) của biển số. Từ giá trị của top và bottom, ta có thể tách được dòng chứa biển số Khi dãy ngang có chứa biển số xe đã được tách ra, ta cần tìm các giới hạn dọc cho biển số. Để thực hiện việc này, biểu đồ cho mỗi hàng được tính và tất cả tần số được tính trung bình trên mỗi cột. Cách thực hiện cũng giống như cách làm với các hàng và thu được các giá trị cạnh trái (left), cạnh phải (right). Sau đó tiến hành cắt biển số theo giá trị (top, bottom, left, right) Giao diện chính của chương trình nhận dạng biển số xe

Chúng ta cũng cần chú ý đến mối liên hệ giữa miền không gian và miền tần số:

x u M

 

 1

(4.7)

y v N

 

 1

(4.8) Do các mối liên hệ này mà các mẫu có sự thay đổi cường độ (tỉ lệ thay đổi mức xám) trong ảnh có thể liên quan tới các tần số trong phép biến đổi Fourier, bởi vì tần số liên hệ trực tiếp đến tỉ lệ thay đổi.

Do đặc điểm biển số xe mô tô ở Việt Nam hầu hết là nền màu trắng, chữ màu đen, nên quá trình trích biển số trong ảnh có nền phức tạp trở nên dễ dàng hơn. Muốn trích được biển số xe trong ảnh, chúng ta phải làm thế nào đó lấy được tọa độ (trên, dưới, trái, phải ) tương ứng (top, bottom, left, right) của biển số

Để cực đại hóa xác suất tìm các hàng đi qua trong ảnh đi qua biển số xe, chúng ta tính trung bình biểu đồ cho các tần số trong khoảng [u1, u2] mà chúng ta dự đoán các ký tự trong biển số xe chiếm ưu thế. Sau khi phân tích biểu đồ

ta lấy được vị trí đỉnh (top) và đáy (bottom) của biển số. Từ giá trị của top và bottom, ta có thể tách được dòng chứa biển số như hình 4.1

Hình 4.1: Phân tích phổ ngang cho ảnh chứa biển số.

Hình 4.2: Tách dòng chứa biển số.

Khi dãy ngang có chứa biển số xe đã được tách ra, ta cần tìm các giới hạn dọc cho biển số. Để thực hiện việc này, biểu đồ cho mỗi hàng được tính và tất cả tần số được tính trung bình trên mỗi cột. Cách thực hiện cũng giống như cách làm với các hàng và thu được các giá trị cạnh trái (left), cạnh phải (right). Sau đó tiến hành cắt biển số theo giá trị (top, bottom, left, right) vừa nhận được như hình 4.2

Hình 4.3: Phân tích phổ ngang cho ảnh chứa biển số.

Hình 4.4: Tách biển số Thuật toán trích biển số xe:

Input: = Ảnh thu được từ camera Output: = Ảnh biển số trích được Với h: ngưỡng cao

w: ngưỡng rộng Function fft(image) {

i=0;

thiết lập giá trị ban đầu;

flag=0;

for (i=0; i<image.Height;i++) {

P=trung bình biên độ phổ của hàng pixel thứ i;

//sử dụng thư viện AForge

If (P>=ngưỡng)

If (flag=1)

height=height+1;

else

{

top=i;

flag=1;

}

else

if (height>=h)

bottom=i;

}

Tách ảnh mới: đỉnh là top, đáy là bottom=RowImage i=0;

thiết lập giá trị ban đầu;

flag=0;

for (i=0; i<image.Width;i++) {

P=trung bình biên độ phổ của cột pixel thứ i;

//sử dụng thư viện AForge If (P>=ngưỡng)

If (flag=1)

width=width+1;

else

{

left=i;

flag=1;

}

else

if (width>=w)

right=i;

}

Biển số xe= ảnh mới với cạnh trái là left và cạnh phải là right.

}

Hình 4.5: Một số ảnh sau khi tách được biển số.

Một phần của tài liệu NGHIÊN CỨU GIẢI PHÁP NHẬN DẠNG BIỂN SỐ XE TRÊN CƠ SỞ CÔNG NGHỆ XỬ LÝ ẢNH (Trang 76 - 82)

Tải bản đầy đủ (PDF)

(101 trang)