4 #include <fsdk/Types/Format.h> 
    5 #include <fsdk/Types/Rect.h> 
    6 #include <fsdk/Types/Result.h> 
    7 #include <fsdk/Types/Sizer.h> 
    8 #include <fsdk/Types/SubImage.h> 
  130             int deviceId = 0) noexcept;
 
  150             int deviceId = 0) noexcept;
 
  176             int deviceId = 0) noexcept;
 
  219             int deviceId = 0) noexcept;
 
  242             int deviceId = 0) noexcept;
 
  270             int deviceId = 0) noexcept;
 
  306             int deviceId = 0) noexcept;
 
  336             int deviceId = 0) noexcept;
 
  374             return map(rect.x, rect.y, rect.width, rect.height);
 
  399             return map(origin.x, origin.y, size.x, size.y);
 
  426             return extract(rect.x, rect.y, rect.width, rect.height);
 
  453             return extract(origin.x, origin.y, size.x, size.y);
 
  513             return convert(dest, origin.x, origin.y, size.x, size.y, format, device);
 
  599             const 
Format format) const noexcept;
 
  630             const 
Format format) const noexcept;
 
  657             const 
Format format) noexcept;
 
  674             const uint32_t sizeInBytes) noexcept;
 
  688             const uint32_t sizeInBytes,
 
  689             const 
Format format) noexcept;
 
  708             const uint32_t sizeInBytes,
 
  709             const 
Type type) noexcept;
 
  724             const uint32_t sizeInBytes,
 
  726             const 
Format format) noexcept;
 
  767         operator bool () const noexcept {
 
  826             return reinterpret_cast<T*
>(
getData());
 
  833             return reinterpret_cast<const T*
>(
getData());
 
  867         int getDeviceId() const noexcept {
 
  896             return getData() == other.getData();
 
  903             std::swap(
m_data, other.m_data);
 
  904             std::swap(
m_ref, other.m_ref);
 
  905             std::swap(
m_height, other.m_height);
 
  906             std::swap(
m_width, other.m_width);
 
  907             std::swap(
m_format, other.m_format);
 
  908             std::swap(m_residence, other.m_residence);
 
  927                 m_residence == other.getMemoryResidence();
 
  940         FSDK_API void putPixel(uint32_t x, uint32_t y) noexcept;
 
  988         static const char* toString (
Image::Error error) noexcept {
 
 1008                 default: 
return "Unknown error";
 
medium compression (only for png or jpg) 
#define FSDK_API
Dummy. 
Definition: Def.h:27
FSDK_API Result< Error > loadFromMemory(const void *data, const uint32_t sizeInBytes) noexcept
Load image from memory. 
float getAspectRatio() const noexcept
Definition: Image.h:852
A structure that encapsulates an action result enumeration. 
Definition: Result.h:29
void reset() noexcept
Reset image contents. 
Definition: Image.h:913
static FSDK_API void deallocate(void *memory) noexcept
Free memory. 
Vector2< int > Point2i
Definition: Vector2.h:290
bool equalWeak(const fsdk::Image &other) noexcept
Performs weak comparison of this image with other. Weak in this context means only image parameters s...
Definition: Image.h:922
Rect getRect() const noexcept
Definition: Image.h:879
Image in NPU PreProcessing module memory. 
Type height
Rectangle height. 
Definition: Rect.h:16
int m_height
image height. 
Definition: Image.h:945
FSDK_API Result< Image::Error > convert(Image &dest, int x, int y, int width, int height, Format format, TargetDevice device=TargetDevice::CPU) const noexcept
Convert image format. 
maximum compression level (only for png or jpg) 
bool isNull() const noexcept
Definition: Image.h:750
Bad path for saving / loading. 
FSDK_API Result< Error > load(const char *path) noexcept
Load image from file. 
void * getData() noexcept
Definition: Image.h:812
Format getFormat() const noexcept
Definition: Image.h:859
const void * getData() const noexcept
Definition: Image.h:818
const T * getDataAs() const noexcept
Definition: Image.h:832
FSDK_API Result< Image::Error > saveToMemory(Image::Type type, IArchive *archive, fsdk::Image::ImageCompression additionalFlag=fsdk::Image::ImageCompression::IC_NO_COMPRESSION) const noexcept
Save image to memory buffer. 
FSDK_API Result< Error > set(int width, int height, Format format, const void *data, MemoryResidence residence=MemoryResidence::MemoryCPU, int deviceId=0) noexcept
Initializes an image with provided data. If current image is not empty and it's size and format match...
int getRowSize() const noexcept
Definition: Image.h:837
T * getScanLineAs(int y) noexcept
Get image scanline data. 
Definition: Image.h:797
FSDK_API Image extract(int x, int y, int width, int height) const noexcept
Extract a sub image of this image. The new image will have it's own reference count. 
FSDK_API Image rescale(float scale) const noexcept
Rescale image keeping proportions. 
MemoryResidence
Memory residence. 
Definition: Image.h:104
int getHeight() const noexcept
Definition: Image.h:847
Type width
Rectangle width. 
Definition: Rect.h:15
Conversion not implemented. 
Format m_format
image format ( 
Definition: Image.h:948
Invalid memory residence. 
SubImage map(const Size &size) const noexcept
Map image contents to a given area. 
Definition: Image.h:386
bool isSharedWith(const Image &other) const noexcept
Definition: Image.h:895
void * m_data
raw image data. 
Definition: Image.h:943
Result< Image::Error > convert(Image &dest, const Size &size, Format format, TargetDevice device=TargetDevice::CPU) const noexcept
Convert image format. 
Definition: Image.h:531
FSDK_API Result< Error > create(int width, int height, Format format, bool cleanup=true, MemoryResidence residence=MemoryResidence::MemoryCPU, int deviceId=0) noexcept
Initializes an empty image and preallocates storage buffer of given size. 
int * m_ref
reference counter. nullptr if image does not own data. 
Definition: Image.h:944
const T * getScanLineAs(int y) const noexcept
Get image scanline data. 
Definition: Image.h:806
FSDK_API int getRefCount() const noexcept
Obtain reference count. 
Error during image saving. 
int m_deviceId
id of the device where image memory is allocated 
Definition: Image.h:947
FSDK_API SubImage map(int x, int y, int width, int height) const noexcept
Map image contents to a given area. 
Image extract(const Point2i &origin, const Size &size) const noexcept
Extract a sub image of this image. The new image will have it's own reference count. 
Definition: Image.h:452
static FSDK_API void * allocate(int size) noexcept
Allocate memory. 
Type
Supported image types. 
Definition: Image.h:43
void swap(Image &other) noexcept
Swap contents with another image. 
Definition: Image.h:902
Error during image loading. 
Failed to retain image: it was released in another thread. 
int m_width
image width. 
Definition: Image.h:946
Image in Cuda device memory. 
ImageCompression
Supported compression type is used only for jpg and png types. 
Definition: Image.h:67
Image. 
Definition: Image.h:38
compression with minimal (or without) quality loss (only for png or jpg image) 
T * getDataAs() noexcept
Definition: Image.h:825
FSDK_API int getDataSize() const noexcept
Target Device is not supported for this system. 
Image & operator=(const Image &other) noexcept
Assign other image. 
Definition: Image.h:731
FSDK_API int release() noexcept
Decrease reference count. 
Image in Host device memory. 
no compression (only for png or jpg image) 
Result< Image::Error > convert(Image &dest, const Rect &rect, Format format, TargetDevice device=TargetDevice::CPU) const noexcept
Convert image format. 
Definition: Image.h:548
Archive interface. 
Definition: IObject.h:37
SubImage map(const Point2i &origin, const Size &size) const noexcept
Map image contents to a given area. 
Definition: Image.h:398
Image extract(const Size &size) const noexcept
Extract a sub image of this image. The new image will have it's own reference count. 
Definition: Image.h:439
FSDK_API Result< Error > loadFromMemoryOfType(const void *data, const uint32_t sizeInBytes, const Type type) noexcept
Load image from memory of specific type. 
FSDK_API void * getScanLine(int y) noexcept
Get image scanline data. 
Error
Image error codes. 
Definition: Image.h:77
bool ownsData() const noexcept
Definition: Image.h:887
Sub Image. 
Definition: SubImage.h:10
Result< Image::Error > convert(Image &dest, Format format, TargetDevice device=TargetDevice::CPU) const noexcept
Convert image format. 
Definition: Image.h:562
FSDK_API Image() noexcept
Initializes an empty image. 
more than medium compression (only for png or jpg) 
Error during initialization. 
Image clone() const noexcept
Create a copy of this image. The new image will have it's own reference count. 
Definition: Image.h:470
FSDK_API Result< Image::Error > save(const char *path, fsdk::Image::ImageCompression additionalFlag=fsdk::Image::ImageCompression::IC_NO_COMPRESSION) const noexcept
Save image. 
TargetDevice
Target device that fsdk::Image algorithms will be running on. 
Definition: Image.h:55
Image extract(const Rect &rect) const noexcept
Extract a sub image of this image. The new image will have it's own reference count. 
Definition: Image.h:425
Helper entity to measure size of dynamic objects in memory. 
Definition: Sizer.h:10
FSDK_API int retain() noexcept
Increase reference count. 
Vector2< int > Size
Definition: Vector2.h:299
Size getSize() const noexcept
Definition: Image.h:872
Type y
Upper left corner y-coordinate. 
Definition: Rect.h:14
int getWidth() const noexcept
Definition: Image.h:842
Image in NPU device memory. 
bool equalStrong(const fsdk::Image &other) noexcept
Performs strong comparison of this image with other. Beside weak comparison strong comparison also ch...
Definition: Image.h:935
Type x
Upper left corner x-coordinate. 
Definition: Rect.h:13
bool isValid() const noexcept
Definition: Image.h:757
static FSDK_API Result< Error > guessTypeFromMemory(const void *data, const uint32_t sizeInBytes, Type &type) noexcept
Guess type of image written into memory.