http://libccv.org/をご覧ください。
これはかなり新しいものですが、顔検出用の無料のオープンソース高レベルAPIを提供します。
(...そして、あえて言うと、かなりすごいです)
編集:これはopencvに依存しない数少ないライブラリの1つであり、キックのためだけに、ドキュメントページから顔検出用のコードのコピーを作成して、何が関係しているかを把握できることにも注意してください。
#include <ccv.h>
int main(int argc, char** argv)
{
ccv_dense_matrix_t* image = 0;
ccv_read(argv[1], &image, CCV_IO_GRAY | CCV_IO_ANY_FILE);
ccv_bbf_classifier_cascade_t* cascade = ccv_load_bbf_classifier_cascade(argv[2]); ccv_bbf_params_t params = { .interval = 8, .min_neighbors = 2, .accurate = 1, .flags = 0, .size = ccv_size(24, 24) };
ccv_array_t* faces = ccv_bbf_detect_objects(image, &cascade, 1, params);
int i;
for (i = 0; i < faces->rnum; i++)
{
ccv_comp_t* face = (ccv_comp_t*)ccv_array_get(faces, i);
printf("%d %d %d %d\n", face->rect.x, face->rect.y, face->rect.width, face->rect.y);
}
ccv_array_free(faces);
ccv_bbf_classifier_cascade_free(cascade);
ccv_matrix_free(image);
return 0;
}