我想计算或至少估计放置在相机/ kinect前面的物体的体积。知道我应该从哪里开始?你推荐OpenCV吗?您是否推荐任何其他技术,如声纳/激光?
答案 0 :(得分:4)
在OpenCV 2.3中编写一个关于手部识别的项目,其中一个重要的部分是确切地知道我们想要提取哪些功能,以及从哪个对象中提取?当你说你想要音量时,你当然需要在3d空间中工作,或做一些相当苛刻的假设。就kinect而言,你当然会在3d空间中工作,但单角度视角将再次强迫一些大的假设。
我在油漆中做了一个小例子。如下所示
物体的白色区域是没有深度信息的感知角度。 蓝色与深度信息一样敏感。 红色根本就没有信息。
在第一个示例中,您甚至不知道它是球形还是圆形,因此体积计算将接近于不可能,除非您知道您正在使用球体。
在第二个例子中,使用了一个kinect,给我们只有一半球体的深度信息,我可以合理地假设这个感知的半球实际上是一个球体,并且从当前计算的体积加倍信息。
最后的例子是多角度的。我用了一种类似的方法来跟踪三维空间中的水瓶火箭。我会在某种程度上给出深度感。但我认为类似的approch可以与多个kinects一起使用,提供非常详细的数据集。
我在这里尝试的是...了解您将遇到的对象类型,找出您愿意牺牲的硬件和设置以获得更精确的数据,并确保做出合理的假设基于前者。
希望答案很有用(而且我在油漆上度过的时间是值得的:D)
答案 1 :(得分:1)
OpenCV绝对值得一看,但如果您真的专注于3D处理,我建议您查看Point Cloud Library(PCL)。它具有比OpenCV更多的3D处理功能。但是,这两个项目都是由Willow Garage运营的,因此随着时间的推移,两者之间应该有更多的整合。 PCL将很容易与Kinect集成,因此您可以快速入门。 Here是一本很好的教程列表,可以帮助您入门。