35 mid.entityName =
"images";
38 auto& update = commit.add();
40 update.confidence = 1.0;
41 update.referencedTime = referenceTime;
42 update.entityID = mid;
45 for (
const auto& i : images)
47 visionx::armem_images::arondto::ImageRGB aron;
49 update.instancesData.push_back(aron.toAron());
60 std::vector<cv::Mat> mats;
61 for (
const auto& i : images)
63 auto& m = mats.emplace_back();
64 if (i.type == CByteImage::ImageType::eRGB24)
66 m = cv::Mat(i.height, i.width, CV_8UC3);
68 else if (i.type == CByteImage::ImageType::eGrayScale)
70 m = cv::Mat(i.height, i.width, CV_8UC1);
74 throw armarx::LocalException(
"Could not convert a CByteImage to cv::Mat. Only RGB "
75 "and Grayscale are allowed.");
81 std::memcpy(m.data, i.pixels, m.rows * m.cols * m.elemSize());
109 rgbWriter.registerPropertyDefinitions(def);
115 rgbWriter.connect(mns);
122 return rgbWriter.commitRGBImages(images, referenceTime);
129 return rgbWriter.commitRGBImages(images, referenceTime);
The memory name system (MNS) client.
CommitResult commit(const Commit &commit) const
Writes a Commit to the memory.
const Properties & properties() const
armem::client::Writer & memoryWriter()
Represents a point in time.
virtual void connect(armarx::armem::client::MemoryNameSystem &mns)
ImageWriter(const std::string &providerName)
bool commitRGBImages(const std::vector< cv::Mat > &images, const armarx::core::time::DateTime &referenceTime)
void registerPropertyDefinitions(armarx::PropertyDefinitionsPtr &def)
Properties defaultProperties() const final
bool commitRGBImages(const std::vector< cv::Mat > &images, const armarx::core::time::DateTime &referenceTime)
std::string propertyPrefix() const final
#define ARMARX_CHECK(expression)
Shortcut for ARMARX_CHECK_EXPRESSION.
IceUtil::Handle< class PropertyDefinitionContainer > PropertyDefinitionsPtr
PropertyDefinitions smart pointer type.
A bundle of updates to be sent to the memory.
std::string coreSegmentName