21 #include <opencv2/core/core.hpp> 25 #define CAMERA_GROUP ("camera") 26 #define CAMERA_NUM_CHANNELS_KEY ("num_channels") 27 #define CAMERA_CHANNEL_GROUP_PREFIX ("channel_") 28 #define CAMERA_CHANNEL_TYPE_KEY ("type") 30 #define CAMERA_CHANNEL_TYPE_HSV_KEY ("hsv") 31 #define CAMERA_CHANNEL_TYPE_QR_KEY ("qr") 47 const double confidence,
49 const size_t &dataLength = 0);
56 const double confidence()
const;
57 const char *data()
const;
58 const size_t dataLength()
const;
76 void setImage(
const cv::Mat &image);
77 ObjectVector objects(
const Config &config);
80 virtual void update(
const cv::Mat &image) = 0;
81 virtual ObjectVector findObjects(
const Config &config) = 0;
91 static void setImage(
const cv::Mat &image);
92 static ChannelImpl *channelImpl(
const std::string &name);
96 static std::map<std::string, ChannelImpl *> m_channelImpls;
106 const ObjectVector *objects()
const;
112 void setConfig(
const Config &config);
117 mutable ObjectVector m_objects;
119 mutable bool m_valid;
127 static std::string extension();
129 static void setBasePath(
const std::string &path);
130 static std::string path(
const std::string &name = std::string());
131 static std::string defaultPath();
132 static std::string defaultConfigPath();
133 static void setDefaultConfigPath(
const std::string &name);
136 static std::string s_path;
150 void setWidth(
const unsigned width);
151 void setHeight(
const unsigned height);
153 unsigned width()
const;
154 unsigned height()
const;
156 static unsigned int resolutionToHeight(
Resolution res);
157 static unsigned int resolutionToWidth(
Resolution res);
160 const ChannelPtrVector &channels()
const;
162 const cv::Mat &rawImage()
const;
164 void setConfig(
const Config &config);
165 const Config &config()
const;
167 const unsigned char *bgr()
const;
171 bool initCapDevice(
const unsigned width,
const unsigned height);
173 cv::Mat decodeJpeg(
void *p,
int size);
174 int xioctl(
int fh,
int request,
void *arg);
180 struct buffer *buffers;
181 unsigned int nBuffers;
185 ChannelPtrVector m_channels;
187 unsigned char *m_bmpBuffer;
189 mutable unsigned char *m_bgr;
190 mutable unsigned m_bgrSize;
193 static const char *device_name;
194 cv::VideoCapture *m_cap;
Camera::Device * cDevice()
Definition: camera.hpp:139
Definition: camera.hpp:33
std::vector< Object > ObjectVector
Definition: camera.hpp:68
Definition: config.hpp:16
Definition: camera.hpp:38
Definition: camera.hpp:124
std::vector< Channel * > ChannelPtrVector
Definition: camera.hpp:122
Model
Definition: camera.h:39
Resolution
Definition: camera.h:31
Definition: camera.hpp:99
Definition: camera.hpp:70
Definition: camera.hpp:88
Definition: camera.hpp:42