测量图像中的非平面对象

Posted

技术标签:

【中文标题】测量图像中的非平面对象【英文标题】:Measuring non-planar objects in image 【发布时间】:2015-03-20 13:52:51 【问题描述】:

我正在开发一个计算机视觉应用程序(使用 openCV),目标是测量对象落在容器上之前/之后的宽度。所以在秋天之后它的位置将是随机的,这样的事情要清楚:candies

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

所以我的问题是:什么会导致这两种策略之间的准确性更高?

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

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

提前谢谢你

【问题讨论】:

在任何情况下,如果你不知道物体的大小和入射角,你就无法从单视角测量它的大小。 正确,事实上,在单视图的情况下,我需要一些已知大小的东西,它位于(或几乎是谎言,如果我们接受一点不确定性)在我要测量的对象的同一平面上。使用经过校准的相机,我可以计算已知物体的像素并测量第二个。 好吧,实际上我什至不需要参考对象就可以始终出现在场景中。如果要测量的物体的运动发生在距相机固定距离处,我可以使用该距离处的参考物体预先计算像素/毫米比率,然后只计算像素以获得宽度。无论如何仍在等待您的建议:-) 【参考方案1】:

一对立体相机更适合这项任务。但是,同步可能是个问题。理想情况下,您希望使用具有硬件触发功能的立体相机,这样您就可以同时捕获两个图像。如果使用两个网络摄像头,那么两个图像之间会有延迟,这可能是因为物体在移动而导致的问题。

【讨论】:

在第一种情况下,对象将是静态的,我将在它落入容器后获取图像。触发不会是问题,我更担心它关于相机的方向(例如,在图像中,顶部的 2 个糖果具有较长的脸,几乎看不到)。由于我需要从距离物体 2 m 处获取 10 mm 精度的图像,因此我不确定如果我需要测量的面部方向不好,这可能是一个很好的路径。

以上是关于测量图像中的非平面对象的主要内容,如果未能解决你的问题,请参考以下文章

如何使用 Android 中的加速度计测量手机在 XY 平面上的倾斜度

阅读基于sketch的软件定义网络测量数据平面硬件模型

求一篇关于 平面度误差的测量和评定 相关的外文翻译,字数在两千字左右,若符合要求,给五十分。

OpenCV 完整例程32. 图像的扭变(错切)

使用 OpenCV 测量图像中对象之间的距离

RationalDMIS 2020测量平面