我正在尝试使用 android 中的 opencv 库。我以前从未研究过它,所以这可能是一个非常基本的问题。
我有一个opencv_face.LBPHFaceRecognizer
我的对象识别器活动。我的要求是读取先前存储的面部的直方图值。
opencv_face.LBPHFaceRecognizer mFaceRecognizer = = createLBPHFaceRecognizer(2, 8, 8, 8, 95);
File file = new File(RegisterActivity.getFilePath(mContext));
mFaceRecognizer.load(file.getAbsolutePath());
opencv_core.MatVector vector = mFaceRecognizer.getHistograms();
for (int i = 0; i < vector.size(); i++) {
opencv_core.Mat mat = vector.get(i);
opencv_core.Size size = mat.size();
for (int j = 0; j < size.height();j++)
for (int k = 0; k < size.width(); k++) {
// Here I want to ready the values (which would be same as the values in file am initializing mFaceRecognizer with) of these matrices but I am not able to find any appropriate method to do so.
}
}
请帮助我找到所需的方法,我已经尝试了很多资源并浏览了文档,但作为初学者,我认为我遗漏了一些东西。
我无法在 mat 对象中找到任何版本的 .get() 或 .at() 方法。
任何帮助将不胜感激。提前致谢。
我能够通过将 opencv_core.Mat 转换为 opencv_core.CvMat 对象来读取这些值。我不知道这个对象出于什么原因被标记为已弃用,但这对我来说效果很好:
double[][] input = new double[(int)vector.size()][vector.get(0).size().width()];
for (int i = 0; i < vector.size(); i++) {
opencv_core.Mat mat = vector.get(i);
(new opencv_core.CvMat(mat)).get(input[i]);
}
这里的输入变量现在具有所有直方图所需的值。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)