Java: объект OpenCV Mat в ByteBuffer

1

Я хочу использовать объект Mat, сгенерированный с помощью openCV в JOGL, и поэтому мне нужно преобразовать его в ByteBuffer типа GL_RGBA. какие варианты мне нужно сделать?

Теги:
opencv
jogl

1 ответ

4
Лучший ответ

я не уверен, если байт [] делает трюк, но здесь мы идем:

Mat m; 


byte[] bytes = new byte[ m.rows() * m.cols() * m.channels() ];

m.get(0,0, bytes);

(также обратите внимание, что, если вы не находитесь на android, opencv-изображения имеют тенденцию быть 24-битным bgr, а не rgba, поэтому вам, вероятно, придется изменить флаг, переданный JOGL, при загрузке текстуры)

  • 0
    Он по-прежнему может использовать байтовый массив для заполнения прямого байтового буфера NIO, который он может передать в JOGL, это кажется правильным.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню