22 bool provideIntrinsics)
26 Utils::warnMsg(
"SENSiOSCamera",
"Call to start was ignored. Camera is currently running!", __LINE__, __FILE__);
45 NSString* devId = [NSString stringWithUTF8String:deviceId.c_str()];
47 BOOL enableVideoStabilization = YES;
48 if (provideIntrinsics)
49 enableVideoStabilization = NO;
55 videoStabilizationState:enableVideoStabilization
56 intrinsicsState:provideIntrinsics];
84 Utils::log(
"SENSiOSCamera",
"Camera not started but stop called!");
98 cv::Mat bgra(imgHeight, imgWidth, CV_8UC4, (
void*)data);
100 cvtColor(bgra, bgrImg, cv::COLOR_BGRA2BGR, 3);
103 bool intrinsicsChanged =
false;
106 intrinsicsChanged =
true;
107 intrinsics = cv::Mat_<double>(3, 3);
108 for (
int i = 0; i < 3; ++i)
110 simd_float3 col = camMat3x3->columns[i];
111 intrinsics.at<
double>(0, i) = (
double)col[0];
112 intrinsics.at<
double>(1, i) = (
double)col[1];
113 intrinsics.at<
double>(2, i) = (
double)col[2];
117 updateFrame(bgrImg, intrinsics, intrinsicsChanged, imgWidth, imgHeight);
SENSCameraFacing
Definition of camera facing.
SENSCameraConfig _config
indicates what is currently running
std::atomic< bool > _permissionGranted
SENSCaptureProps _captureProperties
std::atomic< bool > _started
flags if camera was started
void updateFrame(cv::Mat bgrImg, cv::Mat intrinsics, int width, int height, bool intrinsicsChanged)
void processStart()
call from start function to do startup preprocessing
const SENSCameraFacing & facing() const
bool containsDeviceId(const std::string &deviceId) const
const SENSCameraDeviceProps * camPropsForDeviceId(const std::string &deviceId) const
const SENSCameraConfig & start(std::string deviceId, const SENSCameraStreamConfig &streamConfig, bool provideIntrinsics=true) override
on ios we can ignore fovDegFallbackGuess as the api provides dynamic camera intrinsics
SENSiOSCameraDelegate * _cameraDelegate
void stop() override
Stop a started camera device.
const SENSCaptureProps & captureProperties() override
Get SENSCaptureProps which contains necessary information about all available camera devices and thei...
void processNewFrame(unsigned char *data, int imgWidth, int imgHeight, matrix_float3x3 *camMat3x3)
void updatePermission(bool granted)
void warnMsg(const char *tag, const char *msg, const int line, const char *file)
Platform independent warn message output.
void log(const char *tag, const char *format,...)
logs a formatted string platform independently