我正在尝试对使用 Vuforia QCAR 从相机帧获取的图像进行图像处理。为此,我想使用 OpenCV。
我想将像素作为字节数组从 Vuforia 发送到 openCv。但我不知道该怎么做。我知道如何从本机部分访问 Java 方法,反之亦然,但我找不到关于如何从另一个库调用本机函数的起点。
还有一个问题,我可以在 Vuforia 的 native(c++) 部分调用 OpenCV 方法吗?这样我就不必将字节发送到另一个类?
我有一点疑惑
谢谢
我正在尝试对使用 Vuforia QCAR 从相机帧获取的图像进行图像处理。为此,我想使用 OpenCV。
我想将像素作为字节数组从 Vuforia 发送到 openCv。但我不知道该怎么做。我知道如何从本机部分访问 Java 方法,反之亦然,但我找不到关于如何从另一个库调用本机函数的起点。
还有一个问题,我可以在 Vuforia 的 native(c++) 部分调用 OpenCV 方法吗?这样我就不必将字节发送到另一个类?
我有一点疑惑
谢谢
是的,您可以严格地在本机代码中与 Vuforia 一起使用 OpenCV。目前尚不完全清楚您要执行的操作是否是实时的,但是,如果您使用 C/C++ 进行计算机视觉处理,效率会更高。
这是一个如何使用 QCAR::Image 创建 OpenCV Mat 的示例。
Mat grayImage = Mat(QCARImage->getHeight(), QCARImage->getWidth(), CV_8UC1, (unsigned char *)QCARImage->getPixels());
一旦您使用指向 QCAR 图像数据的指针实例化 Mat,您就可以像通常使用 OpenCV 一样进行图像处理和计算机视觉。