Image processing 如何在图像中测量距离?

Image processing 如何在图像中测量距离?,image-processing,opencv,photogrammetry,Image Processing,Opencv,Photogrammetry,假设我们有这样一个图像 (来源:) 假设我们已经在这张图片中使用了滤波器和边缘检测算法。现在我的目标是测量距离(不是实际距离,距离可以是任意单位)。 我怎么计算大厅的长度?(直到窗户) 还是书架的高度?如何准确地放置“标尺”和测量。我在找主意。不过,如果答案是用OpenCV的话,那会有所帮助。这取决于你想做什么 你提到你想测量书架的高度。如果你能考虑到书架的紧邻区域比书架的结尾处的书架的高度要短,你所要找的就是测量距离。选择一个“像素”单位,然后使用毕达哥拉斯定理测量距离。(x^2+y^2=z

假设我们有这样一个图像


(来源:)

假设我们已经在这张图片中使用了滤波器和边缘检测算法。现在我的目标是测量距离(不是实际距离,距离可以是任意单位)。 我怎么计算大厅的长度?(直到窗户)


还是书架的高度?如何准确地放置“标尺”和测量。我在找主意。不过,如果答案是用OpenCV的话,那会有所帮助。

这取决于你想做什么

你提到你想测量书架的高度。如果你能考虑到书架的紧邻区域比书架的结尾处的书架的高度要短,你所要找的就是测量距离。选择一个“像素”单位,然后使用毕达哥拉斯定理测量距离。(x^2+y^2=z^2)

您可能真正想要的是使近书架的高度与远书架的高度相同。在这种情况下,你必须有更多的信息。你必须做一个2D->3D转换:你有一个2D图像,你需要从该图像重建一个3D图片。此时,您需要第三条信息,因为您需要两个变量中的三个变量(X、y、z)


如果正确校准系统并有第二个参考点(例如,激光线),则可以使用OpenCV进行此操作。这被称为结构光方法-有关更多信息,请参阅或谷歌“机器视觉结构光”

,因为你可以假设书架与其下方平行,那么书架之间的实际距离在任何点上都是相等的。您可以确定,在深度为X像素后,感知高度将减少Y%。你应该能够快速建立一个清晰的模式。所有的平行线和直角在你的实际空间将使数学容易

在每个书架的开始和结束处绘制一些起点。您可以在此处找到相关的数学主题:


您需要一套机器视觉套件,如NI机器视觉。。。顺便问一下,你在用c#,vb,LabVIEW做什么?