gpt4 book ai didi

android - 如何通过不处理每一帧来提高 fps 来有效地使用 onCameraFrame 函数

转载 作者:太空狗 更新时间:2023-10-29 14:17:01 24 4
gpt4 key购买 nike

我正在开发增强现实 Android 应用程序。当没有进行任何处理时,我得到大约 20 帧的 fps,当我运行我的 ARFilter(设备:ASUS TRANSFORMER PAD TF700T)时,我得到大约 3 帧的 fps。我分别使用 ORB、FREAK 和 BRUTEFORCE HAMMING 进行检测、描述和匹配。我试图通过 setMaxFrameSize(640, 480) 设置分辨率;但我只能增加 1fps。我应该使用计数器吗?当计数器通过“onCameraFrame”函数运行时实际发生了什么。

@Override
public Mat onCameraFrame(final CvCameraViewFrame inputFrame) {
final Mat rgba = inputFrame.rgba();

if (ARFil != null) {
// if (counter % 10 == 0) {
ARFil[ARFilInd].apply(rgba, rgba);
// }

// addCounter();
}

return rgba;
}


// Added method addCounter()
/*
* private void addCounter() { if (counter > 20) { counter = 0;
*
* } counter++;
*
* }
*/

提前致谢:)

最佳答案

我知道已经晚了,但如果它能帮到我,我有一些假设:

  • 您可能需要进一步减小图像尺寸;
  • 您可能需要将匹配的特征数量限制为较低的阈值;
  • 您可能需要将一些代码转换为 NEON 以实时运行,或转换为 GPU;
  • 您可能需要更改正在使用的算法,以降低圈复杂度;
  • FREAK 对于实时移动来说不够快,所以我会选择 DAISY 之类的东西;
  • 不知道您在构建应用程序时是否激活了编译器优化,但肯定需要它们(如果您至少使用 C++)。

关于android - 如何通过不处理每一帧来提高 fps 来有效地使用 onCameraFrame 函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20996626/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com