小编rai*_*out的帖子

如何在图像时间序列中始终如一地编号轮廓?

我已经使用图像时间序列和以下两种方法自动化了测量植物面积随时间推移的任务以推断增长率:(1)Python + ArcGIS,以及(2)Python + OpenCV。

在第一种方法中,ArcGIS 允许我在图像上创建矢量网格。网格的每个单元格都包含一株植物,因此我从左上角到右下角为每个单元格编号。在创建植物像素 == 1 且其他所有内容 == 0 的二进制图像后,我应用分区统计来查找我的植物区域。通过这种方式,植物数量保持一致,因为我在时间序列中的所有图像上使用相同的网格,但这需要手动干预。

ArcGIS 通过手动创建矢量网格对植物进行编号的方法。

在第二种方法中,我使用 OpenCV 通过轮廓查找植物。每个轮廓的编号是根据其质心坐标和边界框尺寸自动完成的。目前我让它们“从上到下”排序,但它显然不像手工制作的网格那样完美。此外,植物#1 可能不会在第二个或第三个图像中保持植物#1,因为在实验过程中每株植物都在生长和移动,并且新植物出现并改变轮廓的总数(图像每小时拍摄一次到几个星期)。因此,我无法比较第一个图像中的植物 #1 和后续图像中的植物 #1,因为它们甚至可能不是同一种植物。

如何使用第二种方法在整个时间序列中始终对同一植物进行编号?我考虑将后续图像中的质心与前一个图像中最相似的 (x,y) 坐标相关联(一旦数据为表格形式),但这将无法提供更新的编号轮廓图像。

按轮廓编号的植物。

python opencv measurement time-series rate

6
推荐指数
1
解决办法
113
查看次数

标签 统计

measurement ×1

opencv ×1

python ×1

rate ×1

time-series ×1