У меня возник вопрос об обертке объекта Halide :: Image вокруг уже выделенного массива C++, который определяет двумерное изображение с плавающей запятой двойной точности.Создайте объект Halide :: Image из существующего двойного массива C++
Я уже смотрел на:
C++ array to Halide Image (and back)
Это близко к тому, что я хочу сделать, но я смущен uint8_t типа принимающего члена buffer_t в галогениде и как вы работаете с существующими изображениями, которые не являются uint8_t.
Я вижу, что в приложении размытия, которое использует aot, пример выделяет изображение Halide, а затем копирует элементы в это изображение галоида. Я хотел бы сделать это, но не заплатив за копию.
Это не вариант для использования load_image, мне нужно работать с существующей уже выделенной памятью, определенной двойным *.
Image<uint16_t> input(6408, 4802);
for (int y = 0; y < input.height(); y++) {
for (int x = 0; x < input.width(); x++) {
input(x, y) = rand() & 0xfff;
}
}