将arm_compute :: Image转换为cv :: Mat

时间:2018-03-01 23:42:04

标签: opencv machine-learning arm computer-vision neon

我有很多基于open cv的代码,但Arm Compute库有很多方法可以提高性能,所以我喜欢将一些arm计算库代码集成到我的项目中。有没有人尝试在两个相应的Image结构之间进行转换?如果是这样,你做了什么?或者有没有办法共享指向底层数据缓冲区的指针,而无需复制图像数据,只是恰当地设置步幅和标志?

2 个答案:

答案 0 :(得分:1)

我能够配置一个与我的cv :: Mat属性相对应的arm_compute :: Image,分配内存,并将其指向我的cv:Mat的数据部分。

通过这种方式,我可以使用arm_compute有效地处理我的图像,并维护我用于项目其余部分的opencv基础设施。

// cv::Mat mat defined and initialized above
arm_compute::Image image;

image.allocator()->init(arm_compute::TensorInfo(mat.cols, mat.rows, Format::U8));
image.allocator()->allocate();
image.allocator()->import_memory(Memory(mat.data));

答案 1 :(得分:0)

针对ACL 18.05或更高版本的更新

您需要实现IMemoryRegion.h

我为此创建了要旨:link