1 #ifndef CI_COLORED_BLOB_OMNIDIRECTIONAL_CAMERA_SENSOR_H
2 #define CI_COLORED_BLOB_OMNIDIRECTIONAL_CAMERA_SENSOR_H
5 class CCI_ColoredBlobOmnidirectionalCameraSensor;
8 #include <argos3/core/control_interface/ci_sensor.h>
9 #include <argos3/core/utility/math/angles.h>
10 #include <argos3/core/utility/datatypes/color.h>
13 #include <argos3/core/utility/logging/argos_log.h>
65 Distance(f_distance) {
70 <<
"Distance = " << s_blob.
Distance <<
")";
94 c_os <<
"Counter: " << s_reading.
Counter << std::endl;
95 for (
size_t i = 0; i < s_reading.
BlobList.size(); i++) {
96 c_os <<
"Blob[" << i <<
"]: " << s_reading.
BlobList[i] << std::endl;
123 virtual void Enable() = 0;
130 #ifdef ARGOS_WITH_LUA
131 virtual void CreateLuaState(lua_State* pt_lua_state);
133 virtual void ReadingsToLuaState(lua_State* pt_lua_state);
This class provides the most general interface to a camera.
std::vector< SBlob * > TBlobList
Vector of pointers to colored blobs.
CDegrees ToDegrees(const CRadians &c_radians)
Converts CRadians to CDegrees.
float Real
Collects all ARGoS code.
virtual ~CCI_ColoredBlobOmnidirectionalCameraSensor()
Destructor.
const SReadings & GetReadings() const
Returns a reference to the current camera readings.
It defines the basic type CRadians, used to store an angle value in radians.
It represents the readings collected through the camera at a specific time step.
virtual void Disable()=0
Disables image acquisition and processing.
CCI_ColoredBlobOmnidirectionalCameraSensor()
Constructor.
The basic interface for all sensors.
friend std::ostream & operator<<(std::ostream &c_os, const SBlob &s_blob)
SBlob(const CColor &c_color, const CRadians &c_angle, Real f_distance)
Constructor with paramters.
friend std::ostream & operator<<(std::ostream &c_os, const SReadings &s_reading)
unsigned long long UInt64
64-bit unsigned integer.
The namespace containing all the ARGoS related code.
An SBlob represents a generic colored 2D segment in the image.
virtual void Enable()=0
Enables image acquisition and processing.