Я слежу за учебником здесь для отслеживания объектов как для лица, так и для глаз через веб-камеру с использованием opencv. Проблема в том, что даже если обнаружение лица работает с использованием haarcascade_frontalface_alt.xml
, я не haarcascade_frontalface_alt.xml
никаких результатов для обнаружения глаз с помощью haarcascade_eye_tree_eyeglasses.xml
(или любого другого haarcascade для обнаружения глаз). Следуя коду, я заметил несколько ошибок, которые не позволяли моему коду запускаться, поэтому я модифицировал исходники. Из этого:
if( !face_cascade.load( face_cascade_name ) ){ printf("--(!)Error loading\n"); return -1; };
if( !eyes_cascade.load( eyes_cascade_name ) ){ printf("--(!)Error loading\n"); return -1;};
К этому:
eyes_cascade.load( eyes_cascade_name );
face_cascade.load( face_cascade_name ) ;
Это была единственная модификация, сделанная в источнике.
ЗАМЕТКА
→ все haarcascades находятся в исходном каталоге.
→ только некоторые из haarcascades предоставляют результаты haarcascade_frontalface_alt
& haarcascade_profile
→ Я пробовал другие доступные haarcascades для обнаружения глаз, включая haarcascade_eye_tree_eyeglasses.xml,
haarcascade_eye haarcascade_righteye_2splits.xml
, haarcascade_mcs_righteye.xml
, haarcascade_mcs_lefteye.xml
haarcascade_mcs_eyepair_small.xml
, haarcascade_mcs_eyepair_small.xml
, haarcascade_mcs_eyepair_big.xml
, haarcascade_lefteye_2splits.xml
Если у кого-то есть решение моей проблемы, которая была бы очень признательна! Источник доступен через документацию Opencv здесь
я понял ответ на свою проблему, мне пришлось использовать полный путь для файлов .xml
и изменить разрешение на мою папку (предоставить все разрешения). В примере:
String face_cascade_name = "C:\\Opencv-2.4.9\\opencv\\sources\\data\\haarcascades\\haarcascade_frontalface_alt.xml";
eyes_cascade
, что может быть потенциальной причиной для моегоeyes_cascade
не возвращать никаких значений?