python - 没有 openCV 的对象跟踪
问题描述
我正在尝试建立一种算法来检测一些对象并随着时间的推移跟踪它们。我的输入数据是一个 tif 多堆栈文件,我将其作为np
数组读取。我应用 U-Net 模型创建二进制掩码,然后使用scipy
.
到这里为止,一切都正常,但我无法理解跟踪。我有一本字典,其中键是帧号,值是元组列表。每个元组包含每个对象的坐标。
现在我必须将这些对象链接在一起,这在纸上看起来很简单。我希望有一个函数或一个包可以做到这一点(理想情况下类似于trackMate
or M2track on ImageJ
),但我找不到类似的东西。我正在考虑编写自己的最近邻工具,但我想知道是否有一种不那么痛苦的方法(而且,我还想考虑更高级的指标)。
我考虑的另一个选项是 using cv2
,但这需要将数据转换为cv2
喜欢的格式,这会显着减慢代码速度。另外,我想让数据尽可能接近原始输入,所以不cv2
适合我。
解决方案
我使用trackpy解决了它。 http://soft-matter.github.io/trackpy/v0.5.0/ trackpy 正确读取多堆栈 tiff 文件(OpenCv 不能)。
推荐阅读
- python - 根据每个函数应执行的次数在python中随机执行函数
- r - R函数查看多个向量的组合是否与目标向量匹配
- python - 我如何通过来自另一个 python 文件的用户输入来创建类对象
- python - 自动将SAS代码转换为python?
- reactjs - 反应中恼人的API错误,无法弄清楚
- c# - 从带有谓词的列表中删除两个或多个项目
- python - 使 Dask-Yarn 对节点故障更加稳健
- html - HTML/AngularJS - 如何使这个名字、姓氏和电子邮件可编辑?
- c - 如何获取表元组并将其转换为 C 中的数组以用于 postgres?
- javascript - Vuetify v-btn-toggle 组的 v-model 错误