- Bƣớc 5: Phân ngưỡng: với các điểm được giữ lại, thực hiện lấy ngưỡng
CHƢƠNG 3: TRUY VẤN BIỂN BÁO GIAO THÔNG DỰA VÀO HÌNH DẠNG
3.3.1. Sơ đồ khối tổng quát và truy vấn theo hình dạng:
Hình 3.4: Sơ đồ khối phần tra cứu ảnh theo hình dạng
- Ảnh mẫu được đọc vào cấu trúc DIB bằng hàm DisplayImage - Sử dụng thuật toán dò biên gián tiếp để phân vùng ảnh.
- Thực hiện co/giãn (resample) để chuẩn hoá kích thước (cả hai kích thước đều là luỹ thừa của 2) trước khi sao chép sang một ma trận số phức làm đầu vào của hàm biến đổi Fourier nhanh FFT.
Đọc ảnh mẫu Resample 256x256 FFT Tạo Véc tơ đặc trưng Đọc ảnh từ cơ sở DL Resample 256x256 FFT Tạo Véc tơ đặc trưng Tính k/c Euclide Thêm vào danh sách ở vị trí thích hợp Dò biên Dò biên
- Hàm FFT trả lại một ma trận số phức.
- Việc tạo véctơ đặc trưng của ảnh được thực hiện trên ma trận số phức này. Véctơ đặc trưng là một vector có 256 chiều.
- Đọc từng ảnh trong cơ sở dữ liệu, thực hiện các bước giống như với ảnh mẫu để được vector đặc trưng của ảnh vừa đọc.
- So sánh vector đặc trưng của ảnh mẫu và ảnh đọc từ CSDL bằng cách tính khoảng cách Euclide của 2 vector đặc trưng bằng hàm GetShape Distance
- Thêm ảnh vừa đọc vào danh sách ảnh tìm thấy, ảnh có sai khác so với ảnh mẫu nhỏ hơn được xếp lên trên.
3.3.1.1. Đọc ảnh:
Ảnh được đọc vào cấu trúc DIB và hiển thị bằng thủ tục DisplayImage, đầu vào là tên và đường dẫn đến file cần đọc, nếu đọc ảnh thành công thủ tục DisplayImage hiển thị ảnh lên khung ảnh được chỉ định.
Việc thao tác với cấu trúc DIB được thực hiện thông qua cấu trúc
DIBSection đã được định nghĩa trong thư viện GDI32 của Windows.