33 #include <VisionX/interface/core/ImageProviderInterface.h>
44 inline std::vector<std::string>
splitter(std::string
const& propertyValue)
46 std::vector<std::string> result =
Split(propertyValue,
",");
52 int number = (int) strtol(&propertyValue.c_str()[1], NULL, 16);
55 int g = number >> 8 & 0xFF;
56 int b = number & 0xFF;
58 return Eigen::Vector3i(r, g, b);
74 defineOptionalProperty<int>(
"width", 640,
"image width");
75 defineOptionalProperty<int>(
"height", 480,
"image height");
76 defineOptionalProperty<int>(
"numImages", 1,
"number of images");
78 defineOptionalProperty<Eigen::Vector3i>(
"colorMask",
extractColorValue(
"#FFFFFF"),
79 "image color that should be used as alpha channel").setFactory(f);
81 defineOptionalProperty<std::vector<std::string>>(
"imageProviders",
splitter(
"TestImageProvider"),
82 "comma separated list of image providers").setFactory(g);
104 return "ResultImageFuser";
135 bool capture(
void** ppImages)
override;
145 void setResultImageProviders(std::vector<std::string> imageProviders);
147 void pollImageProviders();
153 std::mutex imageMutex;
155 Eigen::Vector3i colorMask;
156 std::map<std::string, CByteImage**> imageSources;
157 std::map<std::string, bool> imageAvailable;