慢速视频帧读取OpenCV

时间:2016-10-05 06:18:09

标签: java opencv frame-rate

我试图通过1080P,120FPS视频的每个帧(总共大约30k帧)进行一些简单的轮廓检测。

然而,openCV's VideoCapture需要很长时间才能从视频中读取每一帧(可能每秒15帧。但这需要太长时间才能通过30k帧,从视频中获取帧并将其转换为马特,然后我可以在那里做一些简历)。

我的阅读代码片段如下所示:

public ArrayList<Integer> findPostiveFrames(Rect roi){
    ArrayList<Integer> postiveFrames = new ArrayList<Integer>();
    currentVC.set(Videoio.CAP_PROP_FPS, 1000);
    currentVC.set(Videoio.CV_CAP_PROP_BUFFERSIZE, 1000);
    Mat mat = new Mat(); 
    for (int i = 0; i < currentVC.get(Videoio.CAP_PROP_FRAME_COUNT); i++){
        currentVC.read(mat);
        Mat submat = mat.submat(roi);
        System.out.println("i: " + i);

    }
    System.out.println("donezo");
    return postiveFrames;
}

0 个答案:

没有答案