【发布时间】:2018-10-03 09:55:07
【问题描述】:
在this opencv example 中,Mat 对象有一个nativeObj 字段,返回一个表示对象地址的长整数(即140398889556640)。因为对象内数据的大小是已知的,所以我希望直接访问 Mat 对象的内容,返回一个字节缓冲区。
最好的方法是什么?
【问题讨论】:
-
在不知道可以安全访问多少的情况下无法访问内存。
-
数据大小未知,就是mat.total() * mat.channels()
-
而不是
nativeObj(它指向cv::Mat实例,而不是像素),看起来你想要dataAddr。查看源代码,它为您提供了值cv::Mat::data,它指向像素数据。请记住,您还必须考虑数据不连续的情况(通常如果Mat代表更大图像的 ROI)。 -
@DanMašek。谢谢你。
标签: java opencv bytebuffer unsafe