Azure Kinect DK正在获取:'像素未与每行的跨距对齐'

epggiuax  于 2022-12-14  发布在  其他
关注(0)|答案(1)|浏览(142)

我正在使用Kinect DK并尝试保存摄像头Capture(一个单一的帧与颜色,深度,红外图像)。我已经意识到,要保存一个捕获对象,我必须保存3个单一的图像(上面引用的),然后从保存的文件中重建捕获。我已经成功保存了彩色图像,但我有一些问题的深度和红外,因为它们的格式。当我尝试创建var a = calibration.CreateTransformation()时出现问题,我认为这是使用其函数a.DepthImageToColorCamera(capture.Depth,depthImage)返回具有指定尺寸的depthImage对象的图像所必需的。系统返回〈Microsoft.Azure.Kinect.Sensor.AzureKinectException:“像素未与每行的步幅对齐”〉异常。有人遇到过同样的问题吗?谢谢。
P.S.我会给予你微软文档https://learn.microsoft.com/it-it/azure/kinect-dk/use-image-transformation的链接

string pathDepth = @"C:\Users\MINALE\Desktop\Kinect_app\depth.json";

            if (!File.Exists(pathDepth))
            {
                // Create a file to write to.
                using (StreamWriter sw = File.CreateText(pathDepth))
                {
                    JsonSerializer serializer = new JsonSerializer { Formatting = Formatting.Indented };

                    Image depthImage = new Image(ImageFormat.Depth16, 512, 512);

                    try
                    {
                        var a = calibration.CreateTransformation();
                        a.DepthImageToColorCamera(capture.Depth, depthImage);
                    }
                    catch (Exception ex)
                    {

                    }

                    serializer.Serialize(sw, depthImage.GetPixels<BGRA>().Span.ToArray());

                }

            }
monwx1rj

monwx1rj1#

我解决了只保存红外和深度图像在他们自己的格式,没有深度到颜色的转换,结束然后重建捕捉使用他们。

相关问题