Использование скалярного тензора в качестве источника изображения для Holoscan HolovizopC++

Программы на C++. Форум разработчиков
Ответить
Anonymous
 Использование скалярного тензора в качестве источника изображения для Holoscan Holovizop

Сообщение Anonymous »

Я пытаюсь написать свой собственный Holoscan :: operator для создания некоторых изображений, которые следует отображать в виде короткого видео с использованием Holoscan :: Ops :: Holovizop . "Приемники"}}) .
Я намерен иметь свое изображение как стек 2D-матриц значений uint16, упакованных в один единственный 3D-Tensor (это первая ошибка?) PrettyPrint-Override ">

Код: Выделить всё

holoviz:
width: 2584          # width of window size, equalling single image width
height: 1904         # height of window size, equalling single image height
tensors:
- name: "output"        # name of the tensor containing input data for display
type: color_lut # Single channel input of UINT16s. 'color_lut' seems adequate.
opacity: 1.0    # layer opacity
priority: 0     # determines render order, higher priority layers are render
< /code>
и продолжил создавать мои изображения в методе вычислительной работы моего оператора создателя. Основные детали кода выглядят так: < /p>
// ..
using std::shared_ptr;
using std::vector;
using holoscan::InputContext;
using holoscan::OutputContext;
using holoscan::ExecutionContext;
using holoscan::Tensor;
// ..

void Op_ImageCreator::compute(InputContext& context_in, OutputContext& context_out, ExecutionContext& context_ex)
{
//> Create the images to be conveyed. ----------------------------
const size_t n_x = 2584u; //data(), mem_circ.get(), tensor_out->dl_ctx()->memory_ref.get());
context_out.emit(tensor_out, "output");
}
< /code>
Компилирование и запуск этого кода дает мне конвейер Holoscan, который регистрирует общий GXF_FAILURE.
, в частности, Tensor_Out.get ()-> DATA () < /code>, кажется, NULLPTR, несмотря на то, что строительный контекст-> Memory_REF = MEM_CIRC < /CODE>. Тенсор. < /p>
[info] [op_image_creator.cpp:32] [INFO:Op_ImageCreator] [2025/09/16 10:46:46]: Memory mapping: (nil) -> 0x73f6b8000000. The given context maintains 0x73f6b8000000 as a memory reference.
[error] [tensor.cpp:638] Unsupported DLPack device type (N/A)
[info] [op_image_creator.cpp:32] [INFO:Op_ImageCreator] [2025/09/16 10:46:46]: ...  emitted.
[info] [framebuffer_sequence.cpp:277] Using present mode 'Immediate'
[error] [holoviz.cpp:1904] Format is not supported:
Tensor '': storage_type: kHost, shape: (  ), strides: (  ), element_type: kUnsigned8, element_count: 0
[..]
[error] [entity_executor.cpp:596] Failed to tick codelet holoviz_A in entity: holoviz_A code: GXF_FAILURE
Используя больший код отладки, я обнаружил, что контекст в Tensor, tensor_out-> dl_ctx () выглядит хорошо, содержащее, что я предоставил конструктору. Однако это, по-видимому, не влияет на фактические данные tensor_out-> data , ни на другие соответствующие свойства. Чего мне здесь не хватает?


Подробнее здесь: https://stackoverflow.com/questions/797 ... -holovizop
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C++»