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
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.
Lọc ra contour có size và aspect phù hợp ta được kết quả
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
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 ạ
Bạn vào group https://www.facebook.com/groups/thigiacmaytinh hỏi thử nhé, hiện giờ mình chưa có code