본문 바로가기

카테고리 없음

C++ OpenCV 동영상 무한 반복 재생

동영상을 무한으로 반복시키고 싶을 때가 있다.

 

그럴때는 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;
}