使用 SharpSenses 和 RealSense 3d 相机时出现 NullReferenceException

Posted

技术标签:

【中文标题】使用 SharpSenses 和 RealSense 3d 相机时出现 NullReferenceException【英文标题】:NullReferenceException when using SharpSenses and RealSense 3d camera 【发布时间】:2018-03-19 05:22:29 【问题描述】:

我已经安装了正确的英特尔实感 SR300 摄像头驱动程序,并且可以使用英特尔实感查看器查看 rgb 和深度摄像头流。所以我知道这方面工作正常。

我现在想使用 nuget 中的 SharpSenses 库进行实验。我正在使用他们在主页上显示的相同代码

        var cam = Camera.Create();
        cam.LeftHand.Visible += (sender, args) => 
            Console.WriteLine("Left Hand Visible");
        ;
        cam.LeftHand.NotVisible += (sender, args) => 
            Console.WriteLine("Left Hand Not Visible");
        ;
        cam.Start();
        Console.ReadLine();

但是它无法运行

System.NullReferenceException: 'Object reference not set to an instance of an object.'

在一行

var cam = Camera.Create();

内部异常是

    StackTrace  "   at SharpSenses.RealSense.RealSenseCamera..ctor()\r\n   at SharpSenses.Camera.Create(Capability[] capabilities)\r\n   at SharpSenses.Camera.Create()\r\n   at WpfApp1.MainWindow..ctor() in c:\\users\\rfonseka\\documents\\visual studio 2017\\Projects\\WpfApp1\\WpfApp1\\MainWindow.xaml.cs:line 28"  string

我错过了什么?

我已经下载并安装了 intel_rs_sdk_offline_package_10.0.26.0396.exe 但这没有任何区别。

【问题讨论】:

What is a NullReferenceException, and how do I fix it?的可能重复 不,这是特定于 SharpSenses 库的 【参考方案1】:

尝试将第一行替换为:

var cam = Camera.Create(Capability.HandTracking);

【讨论】:

【参考方案2】:

想通了。 我卸载了为 RealSense 安装的所有内容。 我为 SR300 安装了深度相机管理器 我安装了英特尔实感 SDK R2 (v10)

运行我的项目,它成功了!所以我必须安装/未安装很多导致问题的东西。

【讨论】:

以上是关于使用 SharpSenses 和 RealSense 3d 相机时出现 NullReferenceException的主要内容,如果未能解决你的问题,请参考以下文章

如何使用 php 和 mysql 使用纬度和经度进行几何搜索

Cocoa - 为啥使用 NSInteger 和 CGFloat 而不是使用 int 和 float,或者总是使用 NSNumber?

HTTPS和SSH方式的区别和使用

学习和使用SVN和GitHub——开篇

CPU使用率和正在使用的内存之间有啥关系?

使用 Express 和 GraphQL 而不是简单地使用 Node.js 和 GraphtQL 有啥好处?