【问题标题】:How can I increase OpenCV realtime detector app's fps?如何增加 OpenCV 实时检测器应用程序 fps?
【发布时间】:2020-04-08 08:02:56
【问题描述】:

我有面部检测器应用程序,它使用 java 的本机 cpp 行和 OpenCV。它正在检测面部并在它们周围画一个圆圈。 但是由于工作计划,它的fps非常低。

所以我尝试更改 JavaCameraView 的布局宽度和高度以降低分辨率并提高 fps,但它仍然具有相同的 fps。然后我尝试将设置分辨率和 fps lines 添加到我的 cpp 文件中,但它们不起作用。

这是我更改后的 cpp 代码:

#include <jni.h>
#include "opencv2/objdetect.hpp"
#include "opencv2/highgui.hpp"
#include <android/log.h>
#include <opencv2/core/core.hpp>
#include <opencv2/imgproc/imgproc.hpp>

using namespace std;
using namespace cv;

extern "C" {
void detect(Mat &input);
void JNICALL
Java_com_example_nativeopencvandroidtemplate_MainActivity_adaptiveThresholdFromJNI(JNIEnv *env, jobject instance,
                                                                                   jlong matAddr) {

    Mat &input = *(Mat *) matAddr;
    detect(input);
}
void detect(Mat &input) {
    String face_cascade_name = "/storage/emulated/0/ony.xml";
    CascadeClassifier face_cascade;
    

    std::vector<Rect> faces;
    Mat frame_gray;

    cvtColor( input, frame_gray, COLOR_RGB2GRAY );
    equalizeHist(frame_gray, frame_gray);

    face_cascade.detectMultiScale(frame_gray, faces, 1.1, 2, 0 | CASCADE_SCALE_IMAGE, Size(30, 30));

    for (size_t i = 0; i < faces.size(); i++) {
        Point center(faces[i].x + faces[i].width * 0.5, faces[i].y + faces[i].height * 0.5);
        ellipse(input, center, Size(faces[i].width * 0.5, faces[i].height * 0.5), 0, 0, 360, Scalar(255, 0, 255), 4, 8,
                0);
    }
}
}

Here's 其原始模板,我将其 cpp 文件更改为检测人脸。

当我尝试添加三个分类器及其线条以检测其他事物并绘制另一个圆圈时,应用程序在我的 Android 操作系统上反复停止。 That 是我对这个项目的另一个问题。

【问题讨论】:

  • @Alex Cohn 你能看一下吗?
  • @isaaaaame 你能看一下吗?
  • @vSomers 可以看看

标签: android c++ opencv java-native-interface


【解决方案1】:

您的代码不完整,但看起来您在每一帧上都创建了分类器。效率不高。

【讨论】:

  • 那么我要补充什么?谢谢
  • @K22:没有看到确切的代码,很难确定,但您可能只需要在CascadeClassifier face_cascade 之前添加一个static。我不明白face_cascade_name 是如何使用的。
猜你喜欢
  • 2021-07-24
  • 2019-05-28
  • 2018-08-03
  • 2017-11-10
  • 2020-01-09
  • 2019-07-19
  • 1970-01-01
  • 2010-11-25
  • 2011-06-04
相关资源
最近更新 更多