Чтение значений в opencv_face.LBPHFaceRecognizer.getHistograms () - PullRequest
0 голосов
/ 18 июня 2020

Я пытаюсь работать с библиотекой open_cv в android. Я никогда раньше не работал над этим, так что это может быть очень простой c вопрос.

У меня есть объект opencv_face.LBPHFaceRecognizer в моем Recognizer Activity. Мое требование - прочитать значения гистограммы для ранее сохраненных лиц.

            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.
                    }
            }

Пожалуйста, помогите мне с необходимыми методами для этого, я перепробовал много ресурсов и просмотрел документацию, но я новичок Я думаю, что мне чего-то не хватает.

Я не могу найти ни одной версии метода .get () или .at () в объекте mat.

Любая помощь будет принята с благодарностью. Заранее спасибо.

1 Ответ

1 голос
/ 18 июня 2020

Мне удалось прочитать значения, преобразовав 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]);
            }

входная переменная здесь теперь имела требуемые значения всех гистограмм.

...