gpt4 book ai didi

java - 在 Android 应用程序中使用 OpenCV 人脸识别算法

转载 作者:太空宇宙 更新时间:2023-11-03 22:31:08 29 4
gpt4 key购买 nike

我正在尝试在 android 应用程序中实现人脸识别,经过一番研究后,我安装了 opencv android 库并将其导入到 android 应用程序中。

我还了解到用于人脸识别的 3 种最常用的算法(至少是教程中最常用的算法)是 LBPH、FischerFaces 和 Eigenfaces,但我在 SDK 中找不到它们的实现,我是不是遗漏了什么?

我必须通过 JNI 导入 C++ 代码吗?或者是否有一些我可以在 Android 应用程序中使用的 Java 实现?

最佳答案

我做了一个快速的(模拟)尝试,它应该类似于这样:

    facerec = new createFisherFaceRecognizer(); 
// traindata
List<Mat> traindata = new ArrayList<Mat>();
traindata.add(image1); // add grayscale images, all cropped to the same size (like(90x90)
traindata.add(image2); // ...

// trainlabels, i guess, MatOfInt(1,2,3) would work, too
Mat labels = new Mat(1,traindata.size(), CvType.CV_32S);
int [] l = {1,2,3, ... }; // 1 label for each image
labels.put(0, 0, l);
facerec.train( traindata, labels );

// now to prediction:
int [] label = new int[1];
double [] conf = new double[1];
// test_im must be grayscale, cropped to same size as the trainimages
facerec.predict(test_im, label, conf);
System.out.println("rec " + label[0] + " " + conf[0]);

关于java - 在 Android 应用程序中使用 OpenCV 人脸识别算法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24408251/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com