동영상을 무한으로 반복시키고 싶을 때가 있다.
그럴때는 Mat이 끝났을 때, 다시 open시키면 된다.
Python으로 보고 싶은 분들은 함수 그대로 똑같은거로만 사용하면 될 듯합니다.
환경 : Window + OpenCV 4.5.0
#include <opencv2/opencv.hpp>
#include <stdio.h>
using namespace std;
using namespace cv;
int main(){
// variables
string videoPath = "pathToVideo.mp4";
int videoFPS = 0;
VideoCapture video;
Mat videoFrame;
// initialization
video.open(videoPath);
if (!video.isOpened()){
cout << "There is no video, check path : " << videoPath << endl;
return 0;
}
cout << "Video opened path : " << video Path << endl;
videoFPS = video.get(CAP_PROP_FPS);
cout << "Video FPS : " << videoFPS << endl;
while (true) {
video.read(videoFrame);
if (videoFrame.empty()){
// this means reading video is ended. so we have to reopen video
video.open(videoPath);
continue;
}
imshow("video",videoFrame);
waitKey(1);
}
return 0;
}