【发布时间】:2017-09-25 11:50:18
【问题描述】:
我希望在检测到 blob 后检测它的平均速度,直到它移出屏幕为止,我在如何设置要使用的值的边界时遇到了麻烦。
以下是一些示例数据:
#35 x_cen=NaN y_cen=NaN curSpeed=0
Elapsed time is 0.263965 seconds.
#36 x_cen=NaN y_cen=NaN curSpeed=0
Elapsed time is 0.263827 seconds.
#37 x_cen=NaN y_cen=NaN curSpeed=0
Elapsed time is 0.420120 seconds.
#38 x_cen=3.052941e+01 y_cen=1.147059e+01 curSpeed=0
Elapsed time is 0.302205 seconds.
#39 x_cen=30 y_cen=1.104167e+01 curSpeed=6.813593e-01
Elapsed time is 0.294330 seconds.
#40 x_cen=30 y_cen=1.104167e+01 curSpeed=6.813593e-01
Elapsed time is 0.281333 seconds.
#41 x_cen=30 y_cen=1.104167e+01 curSpeed=6.813593e-01
Elapsed time is 0.293527 seconds.
#42 x_cen=NaN y_cen=NaN curSpeed=0
Elapsed time is 0.272795 seconds.
#43 x_cen=NaN y_cen=NaN curSpeed=0
Elapsed time is 0.271102 seconds.
#44 x_cen=NaN y_cen=NaN curSpeed=0
在这个示例数据中,我想要对象从第 39 帧到第 41 帧的平均速度。
目前我可以使用以下代码计算指定帧数的平均速度:
avgSpeed = (curSpeed + sum(speedData(end-2:end))) / 4;
如果我能找到使用可变行号的方法,我计划将上述行包含在 if 语句中。
【问题讨论】:
-
如果您有一个包含所有数据的矩阵,您可以使用逻辑索引来提取非 NaN 值。