# -*- coding:utf_8 -*-
from gluoncv import model_zoo, data, utils
import cv2
import matplotlib.pyplot as plt
def get_num(file):
person = []
num = 0
net = model_zoo.get_model('ssd_512_resnet50_v1_voc', pretrained=True)
x, img = data.transforms.presets.ssd.load_test(file, short=512)
class_IDs, scores, bounding_boxes = net(x)
plt.show()
# 根据模型识别人形
utils.viz.plot_bbox(img, bounding_boxes[0],
scores[0], class_IDs[0], class_names=net.classes)
# 获取检测到的人数
for i in range(len(scores[0])):
cid = int(class_IDs[0][i].asnumpy())
cname = net.classes[cid]
score = float(scores[0][i].asnumpy())
if score < 0.5:
break
bounding_boxes[0][i].astype(int).asnumpy()
tag = "{}".format(cname)
person.append(tag)
for p in person:
if 'person' == p:
num += 1
return num
```
Python获取图片中的人数
最新推荐文章于 2025-03-02 18:44:58 发布