Tải thư viện haar_cascade tại link dưới, chép vào folder project
Lưu ý: mỗi file .xml ứng với 1 bộ nhận diện (đọc tên file có mô tả).
Ví dụ để nhận diện khuôn mặt, sử dụng file haarcascade_frontalface_default.xml
opencv/data/haarcascades at master · opencv/opencv
detectMultiScale(img,scaleFactor,minNeighbors,minSize,flags) là hàm quét đa tỉ lệ (multi-scale scanning) để phát hiện đối tượng trong ảnh của OpenCV.
Ở mỗi tỉ lệ scaleFactor , bộ phân loại (cascade) trượt cửa sổ trên ảnh để tìm vùng “khớp” (ở đây là mặt người)
Các cửa sổ phát hiện chồng lấp sẽ được gom nhóm; chỉ những nhóm đủ “đông” (≥ minNeighbors) mới được giữ lại. Kết quả cuối là danh sách các hình chữ nhật (x, y, w, h) bao quanh khuôn mặt
image: ảnh đầu vào (nên là ảnh xám 8-bit).scaleFactor (mặc định 1.1): tỉ lệ thu nhỏ giữa các mức.
minNeighbors (mặc định 3–5 tùy bản): số “láng giềng” tối thiểu khi gom nhóm.
minSize: kích thước nhỏ nhất của đối tượng cần tìm. Đặt giá trị này giúp tăng tốc và bớt nhiễu (ví dụ nhận diện mặt: (30, 30) trở lên).maxSize: kích thước lớn nhất của đối tượng; bỏ qua vùng lớn hơn.flags: để 0 (tham số cũ, hiện không còn dùng với cascade mới).Biến thể:
detectMultiScale2(...)trả thêmnumDetections(bao nhiêu ô góp vào mỗi box).detectMultiScale3(..., outputRejectLevels=True)trả thêmrejectLevelsvàlevelWeights(độ “chắc chắn”).
scaleFactor=1.1, minNeighbors=5, minSize=(30,30).