4

I have implemented face recognition in Java using javacv LBPH class, but i face a problem in which the FaceRecognizer.LBPH does not support the update function. Here's the error:

"OpenCV Error: The function/feature is not implemented (This FaceRecognizer (FaceRecognizer.LBPH) does not support updating, you have to use FaceRecognizer::train to update it.) in unknown function, file ......\src\opencv\modules\contrib\src\facerec.cpp, line 305"

3 Answers3

2

Here's the problem. In the trunk of the OpenCV repository, the method is virtual and overriden by the LBPH FaceRecognizer. So it gets called by the rules of late binding in C++. This works for C++ and all the wrappers. But and here is the problem: In the 2.4 branch of OpenCV the team wanted to guarantee binary compability and so the virtual keyword was removed from the method signature. This causes all the problems, because the overriden methods don't get called anymore. I'll fix it and update this post accordingly.

bytefish
  • 3,697
  • 1
  • 29
  • 35
1

I have the same issue. Apparently the function is not implemented in OpenCV 2.4.3 See: javacv

Sumit Singh
  • 15,743
  • 6
  • 59
  • 89
1

This is working for me now in iOS (update was not called in previous versions). I rebuilt the framework from the latest repo version using these instructions: http://docs.opencv.org/trunk/doc/tutorials/introduction/ios_install/ios_install.html

Joe Beuckman
  • 2,264
  • 2
  • 24
  • 63