我是python的新手,在这里我有一个简单的问题。
在while循环中说,我有一个名为center的变量,center是一个列表,如上所示:
M = cv2.moments(c)
center = (int(M["m10"] / M["m00"]), int(M["m01"] / M["m00"]))
center始终为[x,y],因为M一直是动态变化的,所以中心也是如此。
我的问题是如何知道中心是否更新?如果更新,我如何在数学上将新中心与之前的中心进行比较?
感谢。
答案 0 :(得分:1)
您需要跟踪center
。为此,请创建一个变量来保存以前的值。由于您没有以前的值,因此可以在开始时将其初始化为None
。例如:
previous_center = None
while True:
#
# Your loop code
#
M = cv2.moments(c)
center = (int(M["m10"] / M["m00"]), int(M["m01"] / M["m00"]))
if center != previous_center:
print("New center", center)
previous_center = center