I am using a Android Studio, OpenCV and JavaCameraView to display frame from camera. I want create a simple Mat frame recorder. For example I want save a 100 last frames and then I want a display it in JavaCameraView.
I have vector recordedCameraFrames for store a Mat frames. In function onCameraFrame I have ...
@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);
}
And then when I activate PLAY_DETECTED_FRAMES_VIEW_MODE I want play recorded frames ...
case PLAY_DETECTED_FRAMES_VIEW_MODE:
if(isRecordedFramesReadyToPlay == true && canPlayRecordedFrames == true) {
if (indexOfRecordedFrame == 99) {
indexOfRecordedFrame = 0;
}
indexOfRecordedFrame++;
colorMat = recordedCameraFrames.get(indexOfRecordedFrame).clone();
}
break;