我想计算图像的深度。这样我就可以从图像中消除远处的物体。
有没有任何方法可以用单个相机在c#中完成?
答案 0 :(得分:2)
This website显示了如何使用C#获取网络摄像头图像。然而,就像照片一样,它是平的,因此无法区分距离相机不同距离的物体。一般来说,只需一台相机和一张照片/图像,您想要的就是不可能的。
使用一个或两个相机拍摄两张图像/照片之间有一定距离,您可以区分深度(就像使用双眼一样)。然而,这需要非常复杂的数学来首先识别物体,然后确定它们与相机的近似距离。
Kinect uses an infrared camera创建一个低分辨率图像来测量相机前面物体的距离,以便它可以将玩家与背景区分开来。我在某地读过Kinect相机可以连接到普通电脑,但我不知道你需要的软件或数学。
答案 1 :(得分:1)
如果使用与场景成一定角度的激光照亮直线,则线条的位移将精确对应于对象的高度。这仅根据相机的分辨率给出单线高度。如果您需要完整的3D扫描,则需要移动激光并拍摄多张照片。
答案 2 :(得分:0)