Improve ar frame handling if no depth image is available
This commit is contained in:
@@ -160,9 +160,10 @@ namespace OpenVulkano::AR
|
|||||||
depthWriter->AddFile(fileName.c_str(), buffers);
|
depthWriter->AddFile(fileName.c_str(), buffers);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (depthImg.confidence.resolution.x > 1 && depthImg.confidence.resolution.y > 1)
|
||||||
{
|
{
|
||||||
//BlockProfiler profile("Save AR Frame - Confi");
|
//BlockProfiler profile("Save AR Frame - Confi");
|
||||||
PnmHeader confidenceHeader(static_cast<uint32_t>(depthImg.confidence.resolution.x), static_cast<uint32_t>(depthImg.confidence.resolution.y), false, 2);
|
PnmHeader confidenceHeader(depthImg.confidence.resolution.x, depthImg.confidence.resolution.y, false, 2);
|
||||||
std::string header = confidenceHeader.ToString();
|
std::string header = confidenceHeader.ToString();
|
||||||
buffers[0].first = header.c_str();
|
buffers[0].first = header.c_str();
|
||||||
buffers[0].second = header.size();
|
buffers[0].second = header.size();
|
||||||
|
|||||||
@@ -137,6 +137,13 @@ namespace OpenVulkano::AR::ArKit
|
|||||||
m_depthImage.confidence.resolution = { 1, 1 };
|
m_depthImage.confidence.resolution = { 1, 1 };
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
else
|
||||||
|
{
|
||||||
|
m_depthImage.depth.data = nullptr;
|
||||||
|
m_depthImage.depth.resolution = { 0, 0 };
|
||||||
|
m_depthImage.confidence.data = nullptr;
|
||||||
|
m_depthImage.confidence.resolution = { 0, 0 };
|
||||||
|
}
|
||||||
m_depthImage.intrinsic = frameMetadata.intrinsic.GetForResolution(m_depthImage.depth.resolution);
|
m_depthImage.intrinsic = frameMetadata.intrinsic.GetForResolution(m_depthImage.depth.resolution);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user