Как преобразовать jbyteArray в Mat?

#android #opencv

#Android #opencv

Вопрос:

Я хочу преобразовать ByteArray в Mat в машинном коде. ByteArray, возвращаемый из ByteArrayOutpuStream.toByteArray(), изначально представляет собой изображение .bmp. Это означает, что в ByteArray также есть imageHeader.

На родной стороне у меня есть jbyteArray, где хранится ByteArray. Теперь, как преобразовать этот jbyteArray в Mat для дальнейшей обработки на нем?

Я думаю, что сначала мне нужно его декодировать с помощью cv::imdecode(?,?,?)?

Спасибо

Ответ №1:

Вы можете преобразовать jbyteArray в Mat.

Перейдите по следующей ссылке.

https://github.com/ethanrublee/catkin-opencv/blob/master/samples/android/tutorial-3-native/jni/jni_part.cpp

в проекте android-opencv есть эти примеры.