SmartSpectra C++ SDK
Measure human vitals from video with SmartSpectra C++ SDK.
Loading...
Searching...
No Matches
camera_opencv.hpp
1#pragma once
2// stdlib includes
3#include <tuple>
4#include <vector>
5#include <map>
6// third-party includes
7#include <mediapipe/framework/port/opencv_video_inc.h>
8// local includes
9#include "camera.hpp"
10
11
12namespace presage::camera::opencv {
13
14
15// region ========================================= CODECS =============================================================
16extern const std::map<CaptureCodec, int> kCvCodecFlagByCaptureCodec;
17// endregion ===========================================================================================================
18// region ========================================= MISCELLANEOUS CHECKS ===============================================
19bool CheckCameraOpens(int camera_device_index, int cv_api_index = cv::CAP_ANY);
20
21int DeterminePreferredBackendForCamera(int camera_device_index);
22
23std::string DeterminePreferredBackendNameForCamera(int camera_device_index);
24
25UncertainBool CheckCameraInterfaceSupportsTimestamp(int camera_device_index);
26
27// endregion ===========================================================================================================
28// region ========================================= RESOLUTION =========================================================
29
30bool CheckCameraWorksWithResolution(cv::VideoCapture& capture, const cv::Size& resolution, int cv_capture_api = cv::CAP_ANY);
31
32std::tuple<bool, cv::Size> GetMaximumCameraResolutionFromRange(
33 int camera_device_index,
34 CameraResolutionRange range_to_check = CameraResolutionRange::Mid,
35 int cv_capture_api = cv::CAP_ANY
36);
37
38//@formatter:off
39extern const std::vector<cv::Size> kCommonCameraResolutions;
40extern const std::map<CameraResolutionRange, std::pair<int, int>> kCommonCameraResolutionRanges;
41extern const std::vector<CameraResolutionRange> kCommonCameraResolutionRangeValues;
42//@formatter:on
43
44// endregion ===========================================================================================================
45
46} // presage::camera::opencv