Logo
ApraPipes 1.0
Loading...
Searching...
No Matches
Utils.h
1#pragma once
2#include <string>
3#include "opencv2/opencv.hpp"
4#include <boost/serialization/base_object.hpp>
5#include <boost/archive/binary_iarchive.hpp>
6#include <boost/archive/binary_oarchive.hpp>
7#include <boost/iostreams/device/array.hpp>
8#include <boost/iostreams/stream.hpp>
9#include<boost/thread.hpp>
10
13
14class Utils {
15private:
16 Utils(void) {}
17public:
18 static int64_t GetEpocFromTime(const char * t);
19 static int64_t GetEpocFromTimeInMillis(const char * t);
20 static std::string base64_encode(unsigned char const* bytes_to_encode, size_t in_len);
21 static cv::Mat getMatHeader(RawImageMetadata* metadata);
22 static cv::Mat getMatHeader(RawImagePlanarMetadata* metadata, int rows);
23 static cv::Mat getMatHeader(cv::Rect& roi, RawImageMetadata* metadata);
24 static cv::cuda::GpuMat getGPUMatHeader(cv::Rect& roi, RawImageMetadata* metadata);
25 static cv::Mat getMatHeader(int width, int height, int type);
26 static void round_roi(cv::Rect& roi, int alignLength);
27 static bool check_roi_bounds(cv::Rect& roi, int width, int height);
28 static void setModuleThreadName(boost::thread& thread, std::string moduleID);
29
30 template<class T>
31 static void serialize(T& obj, void* buffer, size_t size)
32 {
33 boost::iostreams::basic_array_sink<char> device_sink((char*)buffer, size);
34 boost::iostreams::stream<boost::iostreams::basic_array_sink<char> > s_sink(device_sink);
35
36 boost::archive::binary_oarchive oa(s_sink);
37 oa << obj;
38 }
39
40 template<class T>
41 static void deSerialize(T& obj, void* buffer, size_t size)
42 {
43 boost::iostreams::basic_array_source<char> device((char*)buffer, size);
44 boost::iostreams::stream<boost::iostreams::basic_array_source<char> > s(device);
45 boost::archive::binary_iarchive ia(s);
46
47 ia >> obj;
48 }
49};
Definition RawImageMetadata.h:10
Definition RawImagePlanarMetadata.h:8
Definition Utils.h:14
static void serialize(T &obj, void *buffer, size_t size)
Definition Utils.h:31
static cv::Mat getMatHeader(RawImageMetadata *metadata)
Definition Utils.cpp:146
static void deSerialize(T &obj, void *buffer, size_t size)
Definition Utils.h:41
static std::string base64_encode(unsigned char const *bytes_to_encode, size_t in_len)
Definition Utils.cpp:98
static int64_t GetEpocFromTime(const char *t)
Definition Utils.cpp:54
static void round_roi(cv::Rect &roi, int alignLength)
Definition Utils.cpp:176
static int64_t GetEpocFromTimeInMillis(const char *t)
Definition Utils.cpp:76
static cv::cuda::GpuMat getGPUMatHeader(cv::Rect &roi, RawImageMetadata *metadata)
Definition Utils.cpp:170
Utils(void)
Definition Utils.h:16
static bool check_roi_bounds(cv::Rect &roi, int width, int height)
Definition Utils.cpp:187
static void setModuleThreadName(boost::thread &thread, std::string moduleID)
Definition Utils.cpp:213