Преобразование рамки предварительного просмотра Android в OpenCV Mat - PullRequest
8 голосов
/ 10 марта 2012

Я пытаюсь захватить изображение из предварительного просмотра камеры и преобразовать его в объект Mat, используя OpenCV. Я зарегистрировал метод callbak public void onPreviewFrame(byte[] data, Camera camera), поэтому я получаю все кадры предварительного просмотра с камеры, но не могу преобразовать его в объект OpenCV Mat.

В настоящее время я использую следующий код для преобразования предварительного просмотра data в объект Mat:

Mat previewFrameMat = new Mat(1, data.length, CvType.CV_8U);
previewFrameMat.put(0, 0, data);

Это правильный способ сделать это? Использую ли я правильный тип изображения (CvType.CV_8U)?

1 Ответ

9 голосов
/ 11 марта 2012

Вы видели, как образцы OpenCV делают это?

mYuv = new Mat(getFrameHeight() + getFrameHeight() / 2, 
    getFrameWidth(), CvType.CV_8UC1);

....

mYuv.put(0, 0, data);

Полный исходный код можно найти в пакете Android от SourceForge или здесь: http://code.opencv.org/projects/opencv/repository/entry/trunk/opencv/samples/android/tutorial-1-addopencv/src/org/opencv/samples/tutorial1/Sample1View.java

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...