在 android 中使用 opencv 捕获视频帧

Capture video frames with opencv in android

我正在尝试使用 opencv-android 实时处理 android 视频。到目前为止,我可以使用 opencv 访问视频,并将其显示在 org.opencv.android.JavaCameraView 上。(我指的是 this link)我无法按帧访问摄像机的视频源-明智的。我需要获取每一帧,以便在它们上应用一些 opencv 算法来进行对象跟踪。请建议一种使用 opencv 访问和处理帧的方法。 (如果有人问过,请重定向)

操作方法如下:

 public Mat onCameraFrame(CameraBridgeViewBase.CvCameraViewFrame inputFrame) {
    //Do your processing here, for example:
    Mat image = inputFrame.rgba();
    Mat ret_mat=new Mat();
    Core.add(image, new Scalar(40, 40, 40, 0), ret_mat); //change brightness of video frame

    return ret_mat;
}

OpenCv 函数与 Mat 对象一起运行,它表示 image/frame 的像素矩阵。上面的代码使每帧亮度增加 40 个单位。