Nhận diện biển báo giao thông

Nhận diện biển báo giao thông là đề tài mang tính ứng dụng cao, được nhiều sinh viên tìm hiểu và cải tiến giải thuật liên tục. Bài này tham khảo từ Nhận dạng biển báo giao thông. Có sửa đổi lại chút ít về thuật toán và config lại cho phù hợp với Opencv 3.2.0

Thuật toán này khá đơn giản, chỉ là lọc màu biển báo bằng HSV (tham khảo bài Lọc màu ảnh – filter color). Sau đó tìm ra những contour hợp lệ rồi tách biển báo ra khỏi hình. Lấy hình ảnh biển báo so sánh với tập dữ liệu hình ảnh là được kết quả.

Do đó thuật toán này có vài điểm yếu: nếu biển báo trùng màu với background sẽ cho sai số rất lớn. Cho nên bài này chỉ giới thiệu một thuật toán nhận diện biển báo giao thông để tham khảo.

Kết quả sau khi tìm được biển báo
traffsign2


Các bước thực hiện

Lọc màu HSV với giới hạn từ (170, 150, 60) đến (180, 256, 256) được mask như hình bên dưới. Đó là vị trí của màu đỏ trong hình gốc.

traffsign3

Lọc ra contour có size và aspect phù hợp ta được kết quả
traffsign1

Download source code

Để build được chương trình cần Visual Studio 2015 community. Link download gồm nhiều source code khác nhau, các bạn chỉ cần build TrafficSignDetect.sln là được.

Lưu ý: đôi khi build bị lỗi thì ấn nút build 1 lần nữa là được

Github

2 thoughts on “Nhận diện biển báo giao thông

  1. Anh ơi em đang tìm hiểu làm đồ án về đề tài nhận diện biển báo giao thông nhưng em không biết tìm hướng đi như thế nào anh có thể giúp em không ạ

Leave a Reply