如何在给定图片中测量植物的高度?

时间:2016-10-28 05:28:51

标签: image matlab image-processing computer-vision camera-calibration

我附上了我的照片,随着时间的推移我拍摄了许多相同植物的照片,但所有照片的角度都是一样的,这是因为相机被放在一个看着这些植物的杆子上。从这张图片中,我想知道植物的高度,通过计算相机和黄点(即植物的尖端)之间的距离减去相机和红点之间的距离(即地面上的点),在短植物中:

height = dist(camera,yellow spot)-dist(camera,red spot)

我已经阅读了MATLAB文档和许多论文,但我无法弄清楚如何获得相机与图像中红色和黄色斑点之间的距离。请有人解释一下。我一直在为它奋斗很多天。

1 个答案:

答案 0 :(得分:0)

正如cagatayodabasi在评论中指出的那样,不可能以这种方式完成:

1 - 您必须水平翻译相机并拍照并获得2个不同的视点,

2-使用两个相机,在水平轴上更好地对齐。

在每种情况下,您都必须使用立体声系统。也许this link in Mathworks可以帮到你。

在每种情况下,您都应首先使用相机校准,然后使用视差计算,与相机的距离强烈关联,这是(或应该)您的“比例因子”(距离越大,越小)感知高度)。

事实上,如果你的植物顶部有一个黄点(我试图理解你的方法)和底部有一个红点,你得到的差异就是植物的“表观高度”。像素的术语,但它不是真正的高度(它取决于我上面提到的比例因子)

如果没有图像,“斑点距离”方法不清楚,但也许(正如Mark Setchell所指出的,如果您无法发布图像),您可以链接纸张或您的页面为您的代码提供灵感。