【发布时间】:2018-09-15 02:10:55
【问题描述】:
我卡在人脸识别中,请帮帮我,下面是我的代码
FaceRecognizer faceRecognizer = com.googlecode.javacv.cpp.opencv_contrib.createFisherFaceRecognizer();
我的火车方法
public void train(){
IplImage img;
IplImage grayImg;
if(nameList!=null && nameList.size()>0){
for (int i = 0; i < nameList.size(); i++) {
String p = mPath+"person0/"+i+".png";
img = cvLoadImage(p);
labels[i] = i;
grayImg = IplImage.create(img.width(), img.height(), IPL_DEPTH_8U, 1);
cvCvtColor(img, grayImg, CV_BGR2GRAY);
images.put(i, grayImg);
}
}
faceRecognizer.train(images,labels);
}
我的预测方法
public void predict(){
String testPath = mPath+"test/person1.png";
Mat img = imread(testPath);
IplImage ipl = MatToIplImage(img,img.width(), img.width());
int predicted = faceRecognizer.predict(ipl);
Log.v(TAG," predicted : "+predicted);
}
出于检查目的,我使用示例图像而不使用设备相机,我的问题是预测方法对所有示例给出相同的结果,请指导我在哪里做错了
【问题讨论】:
-
嗨@Pratik Vyas,我是这个人脸识别的新手,你能指导我如何在Android中使用openCV。我的邮箱:inzi769@gmail.com
-
@InzimamTariqIT:学习如何为andoird应用程序提供NDK支持,并在Opencv人脸识别算法上做一些研发,然后你就会知道如何开始。
-
我对C、C++一无所知。是否有很强的知识要求或者我可以工作?
-
你应该有基础知识,因为理解算法需要基础理解,所以要有耐心,尝试学习c++然后继续前进