OpenCV-Yolo-对特定区域中检测到的对象进行计数

时间:2018-07-23 13:02:59

标签: python opencv yolo devicehive

由于我是OpenCV的新手,因此我正在使用此存储库进行测试: https://github.com/devicehive/devicehive-video-analysis

我的目标是计算在视频的特定区域内有多少检测到的对象(例如“人”)。

所以我正在尝试在这里使用代码:

for o in predictions:
                x1 = o['box']['left']
                x2 = o['box']['right']

                y1 = o['box']['top']
                y2 = o['box']['bottom']

                color = o['color']
                class_name = o['class_name']
                # Draw box
                cv2.rectangle(frame, (x1, y1), (x2, y2), color, 60)
                all_objects.append((o, class_name))
                # Draw label
                (test_width, text_height), baseline = cv2.getTextSize(
                    class_name, cv2.FONT_HERSHEY_SIMPLEX, 0.75, 1)
                cv2.rectangle(frame, (x1, y1),
                              (x1+test_width, y1-text_height-baseline),
                              color, thickness=cv2.FILLED)
                cv2.putText(frame, class_name, (x1, y1-baseline),
                            cv2.FONT_HERSHEY_SIMPLEX, 0.75, (0, 0, 0), 1)
                # People Count
                if class_name == 'person':
                    test += 1

但是当预测发生时,我真的无法弄清楚,如何计算对象区域并检测它是否在另一个预定义的区域之内。

感谢您的帮助。 谢谢 S

0 个答案:

没有答案