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
16namespace calib
17{
18
19enum PipelineExitStatus { Finished,
20 DeleteLastFrame,
21 Calibrate,
22 DeleteAllFrames,
23 SaveCurrentData,
24 SwitchUndistort,
25 SwitchVisualisation
26 };
27
28class CalibPipeline
29{
30protected:
31 captureParameters mCaptureParams;
32 cv::Size mImageSize;
33 cv::VideoCapture mCapture;
34
35 cv::Size getCameraResolution();
36
37public:
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

source code of opencv/apps/interactive-calibration/calibPipeline.hpp