2013-09-27 24 views
2

我想在java中实现一个人脸识别器。我得到了this代码示例,并进行了更改以适应我对系统应该如何运行的要求。它可以工作,但是当我在不同光照强度下获得同一人的图像时,效率会下降。我读过在openCV中为faceRecognizer插入了一个库,但它的样本是用C++实现的。有没有什么办法可以用这个库在java中编码?而且如果我们可以使用它,那么它会提高代码的效率吗?如何使用Java中openCV中创建的FaceRecognizer库?

请提供一些帮助。卡住了它...

+0

FaceRecognizer的作品也来自Java:http://stackoverflow.com/questions/11699744/face-recognition-on-android –

+0

@SamuelAudet感谢您回答我的问题的一部分...它有点帮助,但我的主要问题仍然仍未得到答复。光强度不同的照片仍然会导致效果不佳。如何让我的系统能够有效地处理不同的图片? – fastLearner

回答

1

你可以为java创建一个C++ dll。您应该编写一个使用您的C++代码的包装类(使用C++)。包装类的函数定义应该使用JNI。这个链接here应该是有帮助的(这是给我的)。在实现包装类后,将其导出为dll。

0

只需使用java cv,以便可以在java中使用所有的C++函数。 下载所有javacv jar文件,并尝试安装javacv到你的系统

只是通过看如何设置javacv在您的系统。

0

我想这应该做的魔术在Java

FaceRecognizer模型= createFisherFaceRecognizer(); model.train(images,label);

For prediction Int id = model.predict(img);

相关问题