39#include <visp3/core/vpConfig.h>
41#if defined(VISP_HAVE_SIMDLIB)
42#include "vpImageIoBackend.h"
43#include <Simd/SimdLib.h>
50 SimdPixelFormatType
format = SimdPixelFormatGray8;
51 uint8_t *
data = SimdImageLoadFromFile(
filename.c_str(), &stride, &width, &height, &format);
53 I.init(
static_cast<unsigned int>(height),
static_cast<unsigned int>(width));
54 for (
size_t i = 0;
i <
height; ++
i) {
55 memcpy(
reinterpret_cast<uint8_t *
>(I.bitmap) + i * width, data + i * stride, width);
63 SimdPixelFormatType
format = SimdPixelFormatRgba32;
64 uint8_t *
data = SimdImageLoadFromFile(
filename.c_str(), &stride, &width, &height, &format);
66 I.init(
static_cast<unsigned int>(height),
static_cast<unsigned int>(width));
67 for (
size_t i = 0;
i <
height; ++
i) {
68 memcpy(
reinterpret_cast<uint8_t *
>(I.bitmap) + i * width * 4, data + i * stride, 4 * width);
75 SimdImageSaveToFile((
const uint8_t *)I.bitmap, I.getWidth(), I.getWidth(), I.getHeight(), SimdPixelFormatGray8,
76 SimdImageFileJpeg, quality,
filename.c_str());
79void writeJPEGSimdlib(
const vpImage<vpRGBa> &I,
const std::string &filename,
int quality)
81 SimdImageSaveToFile((
const uint8_t *)I.bitmap, I.getWidth() * 4, I.getWidth(), I.getHeight(), SimdPixelFormatRgba32,
82 SimdImageFileJpeg, quality,
filename.c_str());
87 SimdImageSaveToFile((
const uint8_t *)I.bitmap, I.getWidth(), I.getWidth(), I.getHeight(), SimdPixelFormatGray8,
88 SimdImageFilePng, 90,
filename.c_str());
91void writePNGSimdlib(
const vpImage<vpRGBa> &I,
const std::string &filename)
93 SimdImageSaveToFile((
const uint8_t *)I.bitmap, I.getWidth() * 4, I.getWidth(), I.getHeight(), SimdPixelFormatRgba32,
94 SimdImageFilePng, 90,
filename.c_str());
Definition of the vpImage class member functions.