Как я могу сохранить какой-нибудь кадр камеры в векторе <Mat>, а затем воспроизвести в JavaCameraView? - PullRequest
0 голосов
/ 29 марта 2019

Я использую Android Studio, OpenCV и JavaCameraView для отображения кадра с камеры.Я хочу создать простой регистратор кадров Mat.Например, я хочу сохранить 100 последних кадров, а затем я хочу отобразить их в JavaCameraView.

У меня есть вектор записанныйCameraFrames для хранения кадров Mat.В функции onCameraFrame у меня есть ...

@Override
public Mat onCameraFrame(CameraBridgeViewBase.CvCameraViewFrame cameraFrame) {

colorMat = cameraFrame.rgba();

if(frameCountForRecording < 100){
    recordedCameraFrames.add(colorMat);
    frameCountForRecording++;
}       
else {
    isRecordedFramesReadyToPlay = true;
    recordedCameraFrames.remove(0);
    recordedCameraFrames.add(colorMat);
}

А потом, когда я активирую PLAY_DETECTED_FRAMES_VIEW_MODE, я хочу воспроизводить записанные кадры ...

case PLAY_DETECTED_FRAMES_VIEW_MODE:

if(isRecordedFramesReadyToPlay == true && canPlayRecordedFrames == true) {
        if (indexOfRecordedFrame == 99) {
              indexOfRecordedFrame = 0;
        }
        indexOfRecordedFrame++;
        colorMat = recordedCameraFrames.get(indexOfRecordedFrame).clone();
}
break;
...