为什么中心点与对象不匹配?

时间:2019-08-27 15:16:13

标签: python opencv

我想基于中心点跟踪对象,为了进行检测,我使用了级联算法。我正在使用此页面上的质心跟踪算法。 https://www.pyimagesearch.com/2018/07/23/simple-object-tracking-with-opencv/

在此后https://www.pyimagesearch.com/2018/07/23/simple-object-tracking-with-opencv/中。作者使用了深度神经网络算法进行检测,而我想使用Cascade。但是当我通过边界框作为Recs来检测中心时,它只是在每个对象的框架上显示一个ID点,但它并不完全在每个对象的中心。在下面,我添加了一张我的结果的照片。 非常感谢

```
gray = cv2.cvtColor(frame, cv2.COLOR_BGR2GRAY)
body = fullbody_cascade.detectMultiScale(gray, 1.3, 5)
rects = []
for (i, (startX, startY, endX, endY)) in enumerate(body):
    if endY < 85:
    rects.append(body[i].astype('int'))
    pad_w, pad_h = int(0.15 * endX), int(0.05 * endY)
    cv2.rectangle(frame, (startX + pad_w, startY - pad_h), (startX + endX - 
                  pad_w, startY + endY - pad_h), (0, 255, 0), 2)

# here pass the rects to find centers
objects = ct.update(rects)
for (objectID, centeroid) in objects.items():
     text = "Id {}".format(objectID)
     cv2.putText(frame, text, (centeroid[0] - 10, centeroid[1] - 10), 
                 cv2.FONT_HERSHEY_SIMPLEX, 0.5, (0, 0, 255), 2)
     cv2.circle(frame, (centeroid[0], centeroid[1]), 3, (0, 255, 0), -1)
```

enter image description here

0 个答案:

没有答案