Java:OpenCV Mat 对象到 ByteBuffer

Ush*_*ald 1 java opencv jogl

我想使用在 JOGL 中使用 openCV 生成的 Mat 对象,因此我需要将其转换为 GL_RGBA 类型的 ByteBuffer。我有什么选择来做到这一点?

ber*_*rak 5

我不确定,如果一个字节 [] 可以解决问题,但我们继续:

Mat m; 


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

m.get(0,0, bytes);
Run Code Online (Sandbox Code Playgroud)

(还要注意,除非您使用的是 android,否则 opencv 图像往往是 24 位 bgr,而不是 rgba,因此您可能需要在上传纹理时更改传递给 JOGL 的标志)