是否有任何方法可以从c#中的网络摄像头获取3D图像?

是否有任何方法可以从c#中的网络摄像头获取3D图像?,c#,image-processing,computer-vision,C#,Image Processing,Computer Vision,我想计算图像的深度。这样我就可以从图像中消除远处的物体。 在c#中是否有任何方法可以使用单摄像头实现此目的 演示如何使用C#获取网络摄像头图像。但是,就像照片一样,它是平面的,因此无法区分与相机不同距离的对象。一般来说,只有一台相机和一张照片/图像,你想要的是不可能的 使用一个或两个相机捕捉两个图像/照片,中间有一定距离,您可以区分深度(就像您使用两只眼睛一样)。然而,这需要非常复杂的数学来首先识别对象,然后确定它们与相机的大致距离 这将创建一个低分辨率图像,以测量到摄影机前面对象的距离,从而可

我想计算图像的深度。这样我就可以从图像中消除远处的物体。

在c#中是否有任何方法可以使用单摄像头实现此目的

演示如何使用C#获取网络摄像头图像。但是,就像照片一样,它是平面的,因此无法区分与相机不同距离的对象。一般来说,只有一台相机和一张照片/图像,你想要的是不可能的

使用一个或两个相机捕捉两个图像/照片,中间有一定距离,您可以区分深度(就像您使用两只眼睛一样)。然而,这需要非常复杂的数学来首先识别对象,然后确定它们与相机的大致距离


这将创建一个低分辨率图像,以测量到摄影机前面对象的距离,从而可以将播放器与背景区分开来。我在某个地方读到,Kinect摄像机可以连接到普通计算机上,但我不知道你需要什么软件或数学。

如果你用激光以与场景成一定角度照射直线,直线的位移将与物体的高度完全对应。这仅给出沿单线的高度,取决于相机的分辨率。如果你需要一次完整的3D扫描,你需要移动激光器并拍摄多张照片。

流式视频文件进入时,每一帧都需要一个c#参考。在流媒体播放开始时,受试者需要转动头部并旋转,以便从受试者身上捕获一系列测量值。然后可以将其馈送到第二个摄像头,如unity 3d虚拟摄像头,该摄像头将3d图像转置到流图像的顶部。有很多手机应用程序可以用一系列静止的画面捕捉3d物体,我在galaxy s6上有一个。galaxy s6和更高版本的相机中有一个深度芯片,他们卖给我的手机这是苹果3d相机上使用的。我一直在考虑如何做到这一点,也很乐意给你发电子邮件。请注意,这与面部识别软件的概念类似。

nope:)无法从单个摄像头提取深度。@Kiwaa:谢谢您的建议。尽管我听说图像HSV颜色空间中的强度因子具有这种特性,但你们听错了。强度只是“亮度”或“亮度”的度量。它不提供关于距离的信息,除非是在有专门设置的照明条件的受控环境中。@TNC它只是一种不同的颜色方案,不能存储深度信息。顺便说一句,你混淆了HSV和HSI。HSV不包含intencity@Kris vandermotten&&@kiwaa:非常感谢。