私がやろうとしているのは、PXCSManager::QuerySample() で取得した深度画像を変更し、同じ方法で取得したカラー画像にマッピングすることです。
だからこれは私がやっていることです:
void SampleProcessor::CaptureFrame(PXCSenseManager* pxcsManager, const PXCCapture::Sample* sample, char lastCapturedCharacter) {
defaultFilter(sample->depth, pxcsManager->QueryCaptureManager()->QueryDevice()->QueryDepthLowConfidenceValue());
auto result = _projection->CreateColorImageMappedToDepth(timage, sample->color);
}
void SampleProcessor::defaultFilter(PXCImage * toFilter, const pxcF32 & defaultValue) {
auto imageData = PXCImage::ImageData(); //Todo: think about removing duplication with save function. Alternative to python decorators?
if (toFilter->AcquireAccess(PXCImage::ACCESS_READ_WRITE, PXCImage::PIXEL_FORMAT_DEPTH_F32, &imageData) < PXC_STATUS_NO_ERROR) {
return;
}
filterDepth(imageData, toFilter->QueryInfo(), [](pxcF32) { return true; }, defaultValue);
toFilter->ReleaseAccess(&imageData);
}
ここでの「結果」は常に null です。サンプル->深度、サンプル->色だけを投影に渡すと、有効な画像が返されます。
ここで何が間違っていますか?