Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/opencv/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 如何通过不处理每一帧来提高fps,从而有效地使用onCameraFrame函数_Android_Opencv_Computer Vision - Fatal编程技术网

Android 如何通过不处理每一帧来提高fps,从而有效地使用onCameraFrame函数

Android 如何通过不处理每一帧来提高fps,从而有效地使用onCameraFrame函数,android,opencv,computer-vision,Android,Opencv,Computer Vision,我正在开发一个增强现实Android应用程序。在未进行任何处理时,我获得约20帧的fps,在运行ARFilter(设备:ASUS TRANSFORMER PAD TF700T)时,获得约3帧的fps。我分别使用ORB、FRANK和BRUTEFORCE HAMMING进行检测、描述和匹配。我试图通过setMaxFrameSize(640480)设置分辨率;但我只能增加1个百分点。我应该使用计数器吗?当计数器运行“onCameraFrame”函数时,实际会发生什么 @Override pub

我正在开发一个增强现实Android应用程序。在未进行任何处理时,我获得约20帧的fps,在运行ARFilter(设备:ASUS TRANSFORMER PAD TF700T)时,获得约3帧的fps。我分别使用ORB、FRANK和BRUTEFORCE HAMMING进行检测、描述和匹配。我试图通过setMaxFrameSize(640480)设置分辨率;但我只能增加1个百分点。我应该使用计数器吗?当计数器运行“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
  • 您可能需要更改正在使用的算法,以降低圈复杂度
  • “怪物”的速度不够快,不适合实时移动,所以我会选择DAISY之类的东西 不知道在构建应用程序时是否激活了编译器优化,但它们确实是必需的(如果你至少使用C++)。
我从前面的帖子“并行图像检测和相机预览OpenCV Android”中找到了一个有趣的答案,我想看看您使用帖子15799487会得到什么结果。我希望有一些示例代码。当然,Ryan。如果我得到任何积极的结果,我会与你分享。非常感谢你的评论。信息量很大。去年,我通过遵循上面提到的一些步骤,成功地提高了帧速率。然而,让我把这作为答案。