calibPipeline.hpp 1.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445
  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. #ifndef CALIB_PIPELINE_HPP
  5. #define CALIB_PIPELINE_HPP
  6. #include <vector>
  7. #include <opencv2/highgui.hpp>
  8. #include "calibCommon.hpp"
  9. #include "frameProcessor.hpp"
  10. namespace calib
  11. {
  12. enum PipelineExitStatus { Finished,
  13. DeleteLastFrame,
  14. Calibrate,
  15. DeleteAllFrames,
  16. SaveCurrentData,
  17. SwitchUndistort,
  18. SwitchVisualisation
  19. };
  20. class CalibPipeline
  21. {
  22. protected:
  23. captureParameters mCaptureParams;
  24. cv::Size mImageSize;
  25. cv::VideoCapture mCapture;
  26. cv::Size getCameraResolution();
  27. public:
  28. CalibPipeline(captureParameters params);
  29. PipelineExitStatus start(std::vector<cv::Ptr<FrameProcessor> > processors);
  30. cv::Size getImageSize() const;
  31. };
  32. }
  33. #endif