1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
#include "utilize_videos.h"
 
std::string path = "./Data/Tensile/test/frame/";
std::string type = ".jpg";
 
void Videos::ExtractingFrames(cv::VideoCapture &video)
{
    double fps = video.get(CV_CAP_PROP_FPS);    // checking fps ~ 29.7872
    std::cout << fps << std::endl;
 
    int delay = cvRound(1000 / fps);            // 매 프레임 사이의 시간 간격
 
     int index = 1;
 
    while (1)
    {
        cv::Mat frame;
        std::stringstream ss;
 
        video.read(frame);
        if (frame.empty())
            break;
 
        cv::rotate(frame, frame, cv::ROTATE_90_CLOCKWISE);    // rotate image 90
                
        ss << path << index << type;
        std::string filename = ss.str();
        ss.str("");
 
        cv::imwrite(filename, frame);
 
        ss << "Saved image " << index << type;
        std::string save_notice = ss.str();
        std::cout << save_notice << std::endl;
        
        index++;
    }
}
 
cs