ImageBuffer.h
Go to the documentation of this file.
1
#pragma once
2
3
#include <functional>
4
#include <mutex>
5
6
7
class
CByteImage;
8
9
namespace
visionx
10
{
11
class
ImageProviderInfo;
12
}
13
14
namespace
visionx
15
{
16
17
/**
18
* @brief Handler of image buffer for ImageProcessors.
19
*
20
* How to call allocate (in `onConnectImageProcessor()`):
21
*
22
* @code
23
* visionx::ImageProviderInfo imageProviderInfo = getImageProvider(providerName);
24
*
25
* imageBuffer.allocate(providerInfo);
26
* @endcode
27
*
28
*
29
* How to call update (in `process()`):
30
*
31
* @code
32
* int numReceived = 0;
33
*
34
* imageBuffer.update([this, &numReceived](CByteImage** images)
35
* {
36
* numReceived = getImages(images);
37
* });
38
* @endcode
39
*/
40
class
ImageBuffer
41
{
42
public
:
43
~ImageBuffer
();
44
45
void
allocate
(
const
visionx::ImageProviderInfo
& providerInfo);
46
47
void
deallocate
();
48
49
void
update
(std::function<
void
(CByteImage**)> setImagesFn);
50
51
52
mutable
std::mutex
mutex
;
53
54
CByteImage**
images
=
nullptr
;
55
/// Update this each time you update images.
56
long
imagesSeq
= 0;
57
58
59
private
:
60
unsigned
int
numImages = 0;
61
};
62
63
}
// namespace visionx
visionx::ImageBuffer::images
CByteImage ** images
Definition:
ImageBuffer.h:54
visionx::ImageBuffer::update
void update(std::function< void(CByteImage **)> setImagesFn)
Definition:
ImageBuffer.cpp:52
visionx
ArmarX headers.
Definition:
OpenPoseStressTest.h:38
visionx::ImageBuffer::~ImageBuffer
~ImageBuffer()
Definition:
ImageBuffer.cpp:11
visionx::ImageBuffer
Handler of image buffer for ImageProcessors.
Definition:
ImageBuffer.h:40
visionx::ImageBuffer::mutex
std::mutex mutex
Definition:
ImageBuffer.h:52
visionx::ImageProviderInfo
Definition:
ImageProcessor.h:479
visionx::ImageBuffer::imagesSeq
long imagesSeq
Update this each time you update images.
Definition:
ImageBuffer.h:56
visionx::ImageBuffer::allocate
void allocate(const visionx::ImageProviderInfo &providerInfo)
Definition:
ImageBuffer.cpp:20
visionx::ImageBuffer::deallocate
void deallocate()
Definition:
ImageBuffer.cpp:36
VisionX
core
ImageBuffer.h
Generated on Sat Mar 29 2025 09:17:37 for armarx_documentation by
1.8.17