1 | // This file is part of OpenCV project. |
---|---|
2 | // It is subject to the license terms in the LICENSE file found in the top-level directory |
3 | // of this distribution and at http://opencv.org/license.html. |
4 | |
5 | |
6 | #ifndef CALIB_PIPELINE_HPP |
7 | #define CALIB_PIPELINE_HPP |
8 | |
9 | #include <vector> |
10 | |
11 | #include <opencv2/highgui.hpp> |
12 | |
13 | #include "calibCommon.hpp" |
14 | #include "frameProcessor.hpp" |
15 | |
16 | namespace calib |
17 | { |
18 | |
19 | enum PipelineExitStatus { Finished, |
20 | DeleteLastFrame, |
21 | Calibrate, |
22 | DeleteAllFrames, |
23 | SaveCurrentData, |
24 | SwitchUndistort, |
25 | SwitchVisualisation |
26 | }; |
27 | |
28 | class CalibPipeline |
29 | { |
30 | protected: |
31 | captureParameters mCaptureParams; |
32 | cv::Size mImageSize; |
33 | cv::VideoCapture mCapture; |
34 | |
35 | cv::Size getCameraResolution(); |
36 | |
37 | public: |
38 | CalibPipeline(captureParameters params); |
39 | PipelineExitStatus start(std::vector<cv::Ptr<FrameProcessor> > processors); |
40 | cv::Size getImageSize() const; |
41 | }; |
42 | |
43 | } |
44 | |
45 | #endif |
46 |