2014-09-03 2 views
1

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

ответ

4

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

Mat m; 


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

m.get(0,0, bytes); 

(также отметить, что если вы не на андроид, OpenCV изображения, как правило, 24bit BGR , а не rgba, поэтому вам, вероятно, нужно будет изменить флаг, переданный JOGL, при загрузке текстуры)

+0

Он все еще может использовать массив байтов, чтобы заполнить прямой буфер NIO-байта, который он может передать JOGL, кажется правильным , – gouessej