29#include <VirtualRobot/VirtualRobot.h>
31#include <Color/ColorParameterSet.h>
32#include <SegmentableRecognition/SegmentableRecognition.h>
33#include <Visualizer/OpenGLVisualizer.h>
55 "VisionX/examples/colors.txt",
56 "The color parameter file configures the colors used for segmentable recognition "
57 "(usually colors.txt)");
61 "Minimum number of pixels per region for detecting a uniformly colored object");
63 "MaxEpipolarDistance",
65 "Maximum epipolar line distance allowed for a valid 3D recognition result");
75 "MarkeredObjectName",
"MarkeredObject",
"Name of the object");
104 return "ColorMarkerObjectLocalizer";
144 memoryx::ObjectLocalizationResultList
154 float calculateRecognitionCertainty(
const std::string& objectClassName,
155 const Object3DEntry& entry);
156 void visualizeResults(
const Object3DList& objectList, CByteImage**
resultImages);
160 std::shared_ptr<CGLContext> contextGL;
161 std::shared_ptr<COpenGLVisualizer> m_pOpenGLVisualizer;
164 float minPixelsPerRegion;
165 float maxEpipolarDistance;
166 unsigned int numObjectMarker;
173 std::string markeredObjectName;
175 ObjectColor objectMarkerColor;
180 std::map<std::string, ObjectColor> objectColors;
std::string getConfigIdentifier()
Retrieve config identifier for this component as set in constructor.
std::string prefix
Prefix of the properties such as namespace, domain, component name, etc.
PropertyDefinition< PropertyType > & defineOptionalProperty(const std::string &name, PropertyType defaultValue, const std::string &description="", PropertyDefinitionBase::PropertyConstness constness=PropertyDefinitionBase::eConstant)
ColorMarkerObjectLocalizerPropertyDefinitions(std::string prefix)
bool initRecognizer() override
Initializes segmentable recognition.
~ColorMarkerObjectLocalizer() override
void onExitObjectLocalizerProcessor() override
void onInitObjectLocalizerProcessor() override
memoryx::ObjectLocalizationResultList localizeObjectClasses(const std::vector< std::string > &objectClassNames, CByteImage **cameraImages, armarx::MetaInfoSizeBasePtr imageMetaInfo, CByteImage **resultImages) override
localizes object markers instances
void onConnectObjectLocalizerProcessor() override
Initializes the CSegmentableRecognition.
armarx::PropertyDefinitionsPtr createPropertyDefinitions() override
ColorMarkerObjectLocalizer()
std::string getDefaultName() const override
bool addObjectClass(const memoryx::EntityPtr &objectClassEntity, const memoryx::GridFileManagerPtr &fileManager) override
ObjectLocalizerProcessor interface: The addObjectClass method needs to be implemented by any ObjectLo...
ObjectLocalizerProcessorPropertyDefinitions(std::string prefix)
CByteImage * cameraImages[2]
ObjectLocalizerProcessor()
armarx::MetaInfoSizeBasePtr imageMetaInfo
CByteImage ** resultImages
std::shared_ptr< class Robot > RobotPtr
IceUtil::Handle< class PropertyDefinitionContainer > PropertyDefinitionsPtr
PropertyDefinitions smart pointer type.
IceInternal::Handle< Entity > EntityPtr
Typedef of EntityPtr as IceInternal::Handle<Entity> for convenience.
std::shared_ptr< GridFileManager > GridFileManagerPtr
std::shared_ptr< CSegmentableRecognition > CSegmentableRecognitionPtr
std::shared_ptr< CColorParameterSet > CColorParameterSetPtr