Go to the documentation of this file.
6 #include <VisionX/libraries/armem/vision/images/core/aron/ImageDepth.aron.generated.h>
7 #include <VisionX/libraries/armem/vision/images/core/aron/ImageRGB.aron.generated.h>
13 #include <Image/ByteImage.h>
41 virtual void resetImage(
int rows,
int cols) = 0;
44 virtual const cv::Mat&
getImage()
const = 0;
51 virtual bool usePixels(CByteImage** inputImages);
52 virtual bool usePixels(CByteImage* inputImage) = 0;
53 virtual bool usePixels(
void** inputPixelBuffers);
54 virtual bool usePixels(
void* inputPixelBuffers) = 0;
66 static bool areSameSize(
const CByteImage& lhs,
const CByteImage& rhs);
67 static bool areSameSize(
const cv::Mat& lhs,
const cv::Mat& rhs);
68 static bool areSameSize(
const cv::Mat& lhs,
const CByteImage& rhs);
69 static bool areSameSize(
const CByteImage& lhs,
const cv::Mat& rhs);
86 template <
class AronImageT>
111 std::stringstream ss;
113 <<
" x " <<
aronImage.image.channels() <<
" channels/pixel";
136 reinterpret_cast<void*
>(1));
141 mat.create(rows, cols, mat.type());
149 if (inputImage ==
nullptr)
163 if (inputPixelBuffer ==
nullptr)
186 if (snapshot->time() > instanceID.timestamp)
189 snapshot->findInstance(instanceID.instanceIndex))
191 instanceID.timestamp = snapshot->time();
void from_aron(const AronImageT &dto, CByteImage &bo)
void addQuery(armarx::armem::client::query::Builder &queryBuilder) const
Client-side working entity instance.
CByteImage toCByteImage() const override
virtual bool updateAronImage(const armarx::armem::wm::Memory &memory)=0
virtual std::string printFormat() const =0
armarx::aron::data::DictPtr toAron() const override
A class mediating between the ImageProvider/Processor APIs (based on IVT CByteImages or raw pixel buf...
armarx::armem::MemoryID instanceID
void resetImage(int rows, int cols) override
Initialize the image matrix header with the correct size (and type) but without allocating data.
virtual CByteImage toCByteImage() const =0
std::string printFormat() const override
Client-side working memory.
bool updateAronImage(const armarx::armem::wm::Memory &memory) override
void to_aron(AronImageT &dto, void *&bo)
Client-side working memory entity snapshot.
cv::Mat & getImage() override
void checkNotNull(void *ptr, const char *what)
virtual armarx::aron::data::DictPtr toAron() const =0
bool usePixels(CByteImage *inputImage) override
bool usePixels(void *inputPixelBuffer) override
virtual cv::Mat & getImage()=0
static bool areSameSize(const CByteImage &lhs, const CByteImage &rhs)
std::shared_ptr< Dict > DictPtr
const cv::Mat & getImage() const override
A class template implementing the interface defined by ImageBase for a specific aron-generated class.
The query::Builder class provides a fluent-style specification of hierarchical queries.
const auto * findLatestSnapshot() const
Find the latest entity snapshot.
virtual void resetImage(int rows, int cols)=0
ImageBase(const armarx::armem::MemoryID &instanceID, size_t imageIndex)
virtual bool usePixels(CByteImage **inputImages)
Image(const armarx::armem::MemoryID &instanceID, size_t imageIndex)