2017-08-07 189 views
0

存在一张图像,我想要获取其中存在的物体的实际尺寸(实际生命长度)。但是,只知道图像中存在的另一个对象的尺寸。我如何将一个长度值与这个对象(我知道它是长度)相关联并获得另一个对象的大小?获取图像中物体的尺寸

示例:有一个包含两个对象的图像,一个苹果和一本书。苹果宽度是2英寸。了解这一点,这本书有多宽?

是否有可能通过MatLab获取? @edit - 以图片为例 Building

+0

如果两个物体的测量值位于同一平面且该平面垂直于相机,则可以有近似值。然后,您可以计算每个度量的像素并使用三条规则。或者你在想更复杂的东西? – ednincer

+0

这就是我想要做的,但它需要是自动的。我试图编写一个代码来标识对象并显示它的长度。不知道matlab是否是最好的方法。 –

+0

然后你的问题是没有得到对象的维度(这将是容易的部分,你会通过计算像素来做到这一点)。你的问题是图像识别。这非常复杂,除非输入图像有一些简化(例如:每个图像只有2个对象,您总是比较同一个对象,并且有绿色背景)。您应该指定输入图像的格式。 – ednincer

回答

0

要识别楼层,您可以使用众多线路检测算法之一。不确定,但霍夫变换可以是足够的,详情请参阅关于SO的文档和大量的问题。在提取线条之后,应确保它们是平行的,如果不是,则需要删除透视变形(另一个热门话题)。最后计算现在平行线之间的距离(以像素为单位)并乘以已知比例。

在图像中没有显示您计划用作比例尺的内容。应该自动识别“单元对象”还是手动标记?对不起,我无法对此问题发表评论