3d 图像中非平面物体的测量

3d 图像中非平面物体的测量,3d,size,computer-vision,vision,photogrammetry,3d,Size,Computer Vision,Vision,Photogrammetry,我正在开发一个计算机视觉应用程序(使用openCV),目标是在obejct落在容器上之前/之后测量其宽度。因此,在坠落后,其位置将是随机的,类似这样的情况很明显: 我想测量的唯一对象是清晰地过滤图像,并且始终位于顶部,但在一般情况下,其宽度不会与相机的图像平面平行。在最坏的情况下,长脸可能会被遮挡,使事情变得非常困难 所以我的问题是:怎样才能在这两种策略之间取得更好的准确性 1) 获取容器的一对立体图像,定位对象较长面上的两个点(边界的顶点或中点),然后计算这些点之间在三维空间中的距离 2) 在

我正在开发一个计算机视觉应用程序(使用openCV),目标是在obejct落在容器上之前/之后测量其宽度。因此,在坠落后,其位置将是随机的,类似这样的情况很明显:

我想测量的唯一对象是清晰地过滤图像,并且始终位于顶部,但在一般情况下,其宽度不会与相机的图像平面平行。在最坏的情况下,长脸可能会被遮挡,使事情变得非常困难

所以我的问题是:怎样才能在这两种策略之间取得更好的准确性

1) 获取容器的一对立体图像,定位对象较长面上的两个点(边界的顶点或中点),然后计算这些点之间在三维空间中的距离

2) 在对象落入容器之前,使用靠近对象的单个摄影机,其运动将垂直于摄影机,因此整个宽度将位于平行于图像平面的平面上。使用已知的尺寸参考和校准的相机将导致从单个图像测量宽度


提前感谢

一对立体摄像机更适合此任务。但是,同步可能是一个问题。理想情况下,您希望使用带有硬件触发的立体相机,这样可以同时捕获两幅图像。如果使用两个网络摄像头,则两个图像之间会有延迟,这可能是一个问题,因为对象正在移动。

在第一种情况下,对象将是静态的,我将在对象落入容器后获取图像。触发不会是一个问题,我更担心它在相机上的方向(例如,在图像中,顶部的两个糖果有较长的脸,几乎看不见)。因为我需要在距离物体2米的地方获取10毫米的图像,如果我需要测量的面方向不好,我不确定这是否是一条好的路径。在任何情况下,如果你不知道物体的大小或入射角,你不能从单视图角度测量它的大小。正确,事实上,在单视图的情况下,我需要一个已知大小的东西,它位于(或者说,如果我们接受一点不确定性的话)我想要测量的物体的同一平面上。用一个校准过的相机,我可以计算已知物体的像素数,然后测量第二个。事实上,我甚至不需要一个参考物体总是出现在场景中。如果要测量的对象的运动发生在与相机的固定距离处,我可以预先计算该距离处参考对象的像素/毫米比率,然后只计算像素数以获得宽度。仍在等待您的建议:-)