Я искал в Интернете документацию для Pylon API, но не смог ее найти. Тем не менее, используя приведенный вами пример для OpenCV, в DIPlib легко сделать эквивалент:
dip::Image image(
NonOwnedRefToDataSegment(pylonImage.GetBuffer()), // a random, non-owning pointer
pylonImage.GetBuffer(), // data
dip::DT_UINT8, // pixel type (8-bit unsigned)
{ ptrGrabResult->GetWidth(),
ptrGrabResult->GetHeight() }, // width and heigh
{}, // this one can stay empty
dip::Tensor{3} // 3 channels
);
image.SetColorSpace("RGB");
См. Документацию к этому конструктору , а также этому разделу документация DIPlib для получения более подробной информации.
Обновление DIPlib до текущей главной ветки (я только что нажал это изменение ), приведенное выше упрощается до:
dip::Image image(
static_cast<uint8_t*>(pylonImage.GetBuffer()) // data pointer
{ ptrGrabResult->GetWidth(),
ptrGrabResult->GetHeight() }, // width and heigh
3 // 3 channels
);
image.SetColorSpace("RGB");