Đây là 1 hàm viết sẵn của OpenCV có nhiệm vụ phát hiện một object nào đó dựa trên tập huấn luyện theo thuật toán HaarLike. Hàm có mẫu sau:

public static IntPtr cvHaarDetectObjects(
IntPtr image,
IntPtr cascade,
IntPtr storage,
double scaleFactor,
int minNeighbors,
int flags,
MCvSize minSize

Với các tham số được định nghĩa là (lười dịch quá nên các cậu chịu khó đọc tiếng anh, cũng dễ mà):

+ image – Image to detect objects in
+ cascade – Haar classifier cascade in internal representation
+ storage – Memory storage to store the resultant sequence of the object candidate rectangles
+ scale_factor – The factor by which the search window is scaled between the subsequent scans, 1.1 means increasing window by 10%
+ min_neighbors – Minimum number (minus 1) of neighbor rectangles that makes up an object. All groups of a smaller number of rectangles than min_neighbors-1 are rejected. If min_neighbors is 0, the function does not any grouping at all and returns all the detected candidate rectangles, which may be useful if the user wants to apply a customized grouping procedure
+ flags – Mode of operation. Currently the only flag that may be specified is CV_HAAR_DO_CANNY_PRUNING. If it is set, the function uses Canny edge detector to reject some image regions that contain too few or too much edges and thus can not contain the searched object. The particular threshold values are tuned for face detection and in this case the pruning speeds up the processing
+ min_size – Minimum window size. By default, it is set to the size of samples the classifier has been trained on ( for face detection)

Tớ chưa hiểu cái tham số min_neighbor. Theo như tớ đọc được nó được định nghĩa: "là số lượng nhỏ nhất các hình chữ nhật láng giềng tạo thành object. Tất cả các nhóm hình chữ nhật có số lượng nhỏ hơn tham số này sẽ bị loại trừ. Nếu tham số bằng 0, hàm này sẽ không gộp nhóm gì cả và sẽ phát hiện tất cả".

Đại khái là nếu tham số bằng không thì nó sẽ ra thế này

CÒn nếu khác 0, có thể bằng 1, 2, 3,... thì nó sẽ ra thế này