【发布时间】:2017-11-28 16:54:16
【问题描述】:
我正在尝试计算该视频中有多少红色条
这是我通过计算对象的中心来计算对象的函数
def count(frame):
frame = imutils.resize(frame,640,480)
hsv=cv2.cvtColor(frame,cv2.COLOR_BGR2HSV)
mask=cv2.inRange(hsv, lower, upper)
contours,_ = cv2.findContours(mask.copy(), cv2.RETR_CCOMP,cv2.CHAIN_APPROX_TC89_L1)
center=[]
for i in range(len(contours)):
c = max(contours, key=cv2.contourArea)
((x, y), radius) = cv2.minEnclosingCircle(c)
M = cv2.moments(c)
if M["m00"]==0:
M["m00"]=0.6
cx=int (M["m10"]/M["m00"])
cy=int(M["m01"] / M["m00"])
print "center",len(center)
center.append((cx,cy))
cv2.circle(frame, center[-1],3,(0,0,0),-1)
但问题是 len(center) 出现超过 300。任何人都可以帮助计算红色条的数量。任何解决方案都会有所帮助。
【问题讨论】:
-
你能更新下和上的值,并可能添加你得到的掩码吗?