Thuật toán trích biển số xe dùng phương pháp phân tích phổ tần

Một phần của tài liệu Nghiên cứu nâng cao hiệu năng trong hệ thống nhận dạng biển số xe (Trang 48 - 51)

7. Kết quả dự kiến

3.3.1. Thuật toán trích biển số xe dùng phương pháp phân tích phổ tần

tần số

Kỹ thuật phân tích phổ Fourier dùng để xử lý các hàm rời rạc của thời gian mà các hình ảnh có thể được xem tương tựnhư vậy. 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 được cho bởi biểu thức sau:

|𝐹(𝑢)| = [ 𝑅2(𝑢)+ 𝐼2(𝑢) ]12

Do đặc điểm biển số xe 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) của biển số xe. Để cực đại hóa xác suất các hàng đi qua trong ảnh chứa 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, đáy của biển số. Từ giá trị

của đỉnh và đáy, ta có thể tách được dòng chứa biển số xe. Một khi dãy ngang

có chứa biển số xe đã được tách ra, ta tiếp tục đi tìm để tách nốt phần dọc của biển số xe. Để thực hiện việc này, ta cần phải tính biểu đồ cho mỗi hàng và tất cả tần sốđược tính trung bình trên mỗi cột. Sau khi thực hiện tính trung bình

biểu đồ cho các tần số trong khoảng [v1, v2] mà ta dự đoán là vùng chứa biển

số, khi phân tích ta lấy được vị trí cạnh trái và cạnh phải của vùng chứa biển số xe.

Sau khi tiến hành cắt biển số theo gía trịđỉnh, đáy, trái, phải ta nhận

được kết quả như sau:

Thuật toán trích biển số

Input = ảnh thu nhận được.

Output = ảnh biển sốtrích được từảnh Input. h : chiều cao

w: chiều rộng

FunctionFastFourierTransform ( image) {

i=0; flag=0;

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

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

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 với đỉnh là top và đáy là bottom= RowImage

i=0; flag=0;

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

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

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. }

Một phần của tài liệu Nghiên cứu nâng cao hiệu năng trong hệ thống nhận dạng biển số xe (Trang 48 - 51)

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

(67 trang)