OSDN Git Service

first
[psychlops/cpp.git] / psychlops / platform / cv / psychlops_misc_opencv.cpp
1 /*
2  *  psychlops_widgets_Win32GL.cpp
3  *  Psychlops Standard Library (Universal)
4  *
5  *  Last Modified 2009/12/14 by Kenchi HOSOKAWA
6  *  (C) 2009 Kenchi HOSOKAWA, Kazushi MARUYA and Takao SATO
7  */
8
9 \r
10 #include <opencv2/core/core.hpp>\r
11 #include <opencv2/highgui/highgui.hpp>\r
12 #include "../../extension/standard/figure/psychlops_figure_standard.h"\r
13 \r
14
15 namespace Psychlops {\r
16 \r
17         Figures::Movie& Figures::Movie::save(std::string filename, const double t_fps) {\r
18                 double fps;\r
19                 if(t_fps<=0.0) { fps = 60.0; } else { fps = t_fps; }\r
20                 if(frames.size()>0)\r
21                 {\r
22                         std::cout << "Movie::save : in progress...";\r
23                         cv::Size size_of_frame(frames[0]->getWidth(), frames[0]->getHeight());\r
24                         cv::Mat frame;\r
25                         cv::VideoWriter writer(filename, CV_FOURCC('X','V','I','D'), fps, size_of_frame);\r
26                         for(int i=0; i<frames.size(); i++)\r
27                         {\r
28                                 frames[i]->to(frame);\r
29                                 writer << frame;\r
30                         }\r
31                 } else {\r
32                         std::cout << "Movie::save : The movie is empty.";\r
33                 }
34                 return *this;\r
35         }\r
36 \r
37
38 }       /*      <- namespace Psycholops         */\r