39#include "vpImageIoBackend.h"
40#include <Simd/SimdLib.h>
44 size_t stride = 0, width = 0, height = 0;
45 SimdPixelFormatType format = SimdPixelFormatGray8;
46 uint8_t *data = SimdImageLoadFromFile(filename.c_str(), &stride, &width, &height, &format);
48 I.init(
static_cast<unsigned int>(height),
static_cast<unsigned int>(width));
49 for (
size_t i = 0; i < height; i++) {
50 memcpy(
reinterpret_cast<uint8_t *
>(I.bitmap) + i * width, data + i * stride, width);
57 size_t stride = 0, width = 0, height = 0;
58 SimdPixelFormatType format = SimdPixelFormatRgba32;
59 uint8_t *data = SimdImageLoadFromFile(filename.c_str(), &stride, &width, &height, &format);
61 I.init(
static_cast<unsigned int>(height),
static_cast<unsigned int>(width));
62 for (
size_t i = 0; i < height; i++) {
63 memcpy(
reinterpret_cast<uint8_t *
>(I.bitmap) + i * width * 4, data + i * stride, 4 * width);
70 SimdImageSaveToFile((
const uint8_t *)I.bitmap, I.getWidth(), I.getWidth(), I.getHeight(), SimdPixelFormatGray8,
71 SimdImageFileJpeg, quality, filename.c_str());
74void writeJPEGSimdlib(
const vpImage<vpRGBa> &I,
const std::string &filename,
int quality)
76 SimdImageSaveToFile((
const uint8_t *)I.bitmap, I.getWidth() * 4, I.getWidth(), I.getHeight(), SimdPixelFormatRgba32,
77 SimdImageFileJpeg, quality, filename.c_str());
82 SimdImageSaveToFile((
const uint8_t *)I.bitmap, I.getWidth(), I.getWidth(), I.getHeight(), SimdPixelFormatGray8,
83 SimdImageFilePng, 90, filename.c_str());
86void writePNGSimdlib(
const vpImage<vpRGBa> &I,
const std::string &filename)
88 SimdImageSaveToFile((
const uint8_t *)I.bitmap, I.getWidth() * 4, I.getWidth(), I.getHeight(), SimdPixelFormatRgba32,
89 SimdImageFilePng, 90, filename.c_str());
Definition of the vpImage class member functions.