Jump to content
Compvision.ru
Sign in to follow this  
Сергей Александрович

Face recognition x86

Recommended Posts

У меня проблема при построении решения(при компиляции на х64 то все нормально):

Предупреждение 1 "Emgu.CV.HaarCascade" является устаревшим: "Please use CascadeClassifier instead. This class will be removed in the next version" E:\Face Recognition x86\Face Recognition\Main Form1.cs 34 28 Face Recognition

Предупреждение 2 "Emgu.CV.HaarCascade" является устаревшим: "Please use CascadeClassifier instead. This class will be removed in the next version" E:\Face Recognition x86\Face Recognition\Main Form1.cs 34 39 Face Recognition

Предупреждение 3 "Emgu.CV.HaarCascade" является устаревшим: "Please use CascadeClassifier instead. This class will be removed in the next version" E:\Face Recognition x86\Face Recognition\Training Form.cs 35 21 Face Recognition

Предупреждение 4 "Face_Recognition.Training_Form.Parent" скрывает наследуемый член "System.Windows.Forms.Control.Parent". Если предполагается скрытие, используйте ключевое слово new. E:\Face Recognition x86\Face Recognition\Training Form.cs 55 15 Face Recognition

Предупреждение 5 "Emgu.CV.Image<Emgu.CV.Structure.Gray,byte>.DetectHaarCascade(Emgu.CV.HaarCascade, double, int, Emgu.CV.CvEnum.HAAR_DETECTION_TYPE, System.Drawing.Size)" является устаревшим: "Use HaarCascade.Detect function instead. This function will be removed in the next release" E:\Face Recognition x86\Face Recognition\Training Form.cs 106 48 Face Recognition

Предупреждение 6 "Emgu.CV.Image<Emgu.CV.Structure.Gray,byte>.DetectHaarCascade(Emgu.CV.HaarCascade, double, int, Emgu.CV.CvEnum.HAAR_DETECTION_TYPE, System.Drawing.Size)" является устаревшим: "Use HaarCascade.Detect function instead. This function will be removed in the next release" E:\Face Recognition x86\Face Recognition\Main Form1.cs 129 48 Face Recognition

Предупреждение 7 "Emgu.CV.Image<Emgu.CV.Structure.Gray,byte>.DetectHaarCascade(Emgu.CV.HaarCascade, double, int, Emgu.CV.CvEnum.HAAR_DETECTION_TYPE, System.Drawing.Size)" является устаревшим: "Use HaarCascade.Detect function instead. This function will be removed in the next release" E:\Face Recognition x86\Face Recognition\Main Form1.cs 166 48 Face Recognition

Предупреждение 8 Переменная "ex" объявлена, но ни разу не использована E:\Face Recognition x86\Face Recognition\Training Form.cs 238 30 Face Recognition

вот данные строки как их можно исправить?

1)public HaarCascade Face = new HaarCascade(Application.StartupPath + "/Cascades/haarcascade_frontalface_alt_tree.xml");

2) HaarCascade Face;

3) MCvAvgComp[][] facesDetected = gray_frame.DetectHaarCascade(Face, 1.2, 10, Emgu.CV.CvEnum.HAAR_DETECTION_TYPE.DO_CANNY_PRUNING, new Size(50, 50));

а так все остальные строки такие же

Share this post


Link to post
Share on other sites

Ошибок нет.

Код должен запускаться.

Если очень хочется, то сделайте как он говорит, используйте для детекта класс CascadeClassifier.

Документации по нему достаточно: http://docs.opencv.org/doc/tutorials/objdetect/cascade_classifier/cascade_classifier.html

Share this post


Link to post
Share on other sites

Столкнулся с такой же ситуацией, тоже надо сейчас прогу перелопачивать. Могу точно сказать откуда эти вещи появились. Полностью работает при версии Emgu которая идет вместе с проектом. Далее при попытках добавить новую ссылку на (в моём случае) Emgu.CV.GPU оно отказалось работать т.к. не находило некоторых методов (в проге ранее не наличиствовавших), после чего пришлось обновить все файлы и dll библиотеки emgu, что собственно и вызвало, то что старый метод, который собираются выкинуть начал давать warnings. А вот на что менять DetectHaarCascade, который отказывается работать с CascadeClassifier в качестве первого аргумента, пока не понял.

Share this post


Link to post
Share on other sites

Так не надо его в качестве аргумента, надо создать экземпляр класса, и вызывать его методы.

cv::CascadeClassifier::CascadeClassifier - конструктор
cv::CascadeClassifier::empty - проверка загружен классификатор или нет
cv::CascadeClassifier::load - загрузка классификатора (trained by haartraining)
cv::CascadeClassifier::read - загрузка классификатора (trained traincascade application)
cv::CascadeClassifier::detectMultiScale - собственно детектирование объекта
cv::CascadeClassifier::setImage - устанавливает изображение для детекта, вызывается внутри detectMultiScale
cv::CascadeClassifier::runAt - запускает детектор в заданной точке. Изображение должно быть загружено ф-цией setImage[/code]

Здесь и пример есть:

http://opencv.willowgarage.com/documentation/cpp/objdetect_cascade_classification.html

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

Sign in to follow this  

  • Recently Browsing   0 members

    No registered users viewing this page.

×