error: no member named 'getMat' in 'cv::face::FaceRecognizer'
error: no member named 'getMat' in 'cv::face::FaceRecognizer'
我正在使用 opencv-3.0
,从 opencv 文档中实现此 opencv facial recognition demo。
我相信这个演示是使用 opencv-2.4
编写的。但是,我已将 contrib
src 添加到我的构建中,正如 SO answer.
中所建议的那样
但是,我现在收到以下错误:
error: no member named 'getMat' in 'cv::face::FaceRecognizer'
违规代码是
Mat eigenvalues = model->FaceRecognizer::getMat("eigenvalues");
我正在这样编译我的代码
g++ -o facerec_demo facerec_demo.cpp `pkg-config --cflags --libs opencv`
有没有办法解决这个问题,或者这个演示是否与 opencv-3.0
完全不兼容?
根据this example,下一行中的model
是指向FaceRecognizer
class实例的指针,而不是对象本身。
129: Ptr<FaceRecognizer> model = createEigenFaceRecognizer();
...
143: Mat eigenvalues = model->getMat("eigenvalues");
因此,getMat
函数没有在FaceRecognizer
class中定义是有道理的,但应该为Ptr<FaceRecognizer>
.
定义
我正在使用 opencv-3.0
,从 opencv 文档中实现此 opencv facial recognition demo。
我相信这个演示是使用 opencv-2.4
编写的。但是,我已将 contrib
src 添加到我的构建中,正如 SO answer.
但是,我现在收到以下错误:
error: no member named 'getMat' in 'cv::face::FaceRecognizer'
违规代码是
Mat eigenvalues = model->FaceRecognizer::getMat("eigenvalues");
我正在这样编译我的代码
g++ -o facerec_demo facerec_demo.cpp `pkg-config --cflags --libs opencv`
有没有办法解决这个问题,或者这个演示是否与 opencv-3.0
完全不兼容?
根据this example,下一行中的model
是指向FaceRecognizer
class实例的指针,而不是对象本身。
129: Ptr<FaceRecognizer> model = createEigenFaceRecognizer();
...
143: Mat eigenvalues = model->getMat("eigenvalues");
因此,getMat
函数没有在FaceRecognizer
class中定义是有道理的,但应该为Ptr<FaceRecognizer>
.