for x, y in [np.int32(tr[-1]) for tr in self.tracks]:
cv2.circle(mask, (x, y), 5, 0, -1)
p = cv2.goodFeaturesToTrack(frame_gray, mask=mask, **feature_params)
if p is not None:
for x, y in np.float32(p).reshape(-1, 2):
self.tracks.append([(x, y)])
我被这些for循环弄糊涂了,我对python3还很陌生?这就是-1所表示的吗?)你知道吗
无论如何,对于实例中的每个tr:自我追踪. 底部for循环在numpy float中也是这样做的阵法:p?他们为什么要使用“重塑”?那是干什么的?你知道吗
如果有人不介意的话,也许你可以帮我一把 我将不胜感激。你知道吗
你知道吗自我追踪似乎是一个(n,2)
list
。外循环获取这些值中的每一个,将它们逐个转换为整数x
和y
,然后使用对象mask
和其他几个参数执行函数/方法cv2.circle
。container[-1]
表示需要container
的最后一个索引的值。你知道吗函数/方法
goodFeaturesToTrack
的值被赋给p
(似乎是数组或None
)。**
表示feature_params
是一个参数字典(如果一个函数被定义为myfunc(a,b=2,c=3,d=5)
),您可以为此更改其中的一些值 通过调用myfunc("value of a",**mydict)
,mydict是一个字典,其中包含零个或多个可选变量a、b和c(例如mydict={'b':8,
d:0}
),函数调用会将b和d的默认值分别更改为8和0。你知道吗然后从p的重塑中提取新的(浮点值)
x
和y
,并作为一对追加回列表self.tracks
。你知道吗重塑中的-1表示您不关心给定轴的长度,只要另一个轴具有正确的形状。例如,一个由10个值组成的数组将被重塑为(5,2),(4,4)将被重塑为(8,2)等。这可以通过搜索^{} 找到:
相关问题 更多 >
编程相关推荐