layer_names = net.getLayerNames() output_layers = [layer_names[i - 1] for i in net.getUnconnectedOutLayers()]
font = cv2.FONT_HERSHEY_SIMPLEX colors = np.random.uniform(0, 255, size=(len(classes), 3)) for i in range(len(boxes)): if i in indexes: x, y, w, h = boxes[i] label = str(classes[class_ids[i]]) confidence = str(round(confidences[i], 2)) color = colors[i] cv2.rectangle(frame, (x, y), (x + w, y + h), color, 2) cv2.putText(frame, label + " " + confidence, (x, y + 20), font, 2, color, 2) random_anna.mp4
while video.isOpened(): ret, frame = video.read() if not ret: break layer_names = net
import cv2
class_ids = [] confidences = [] boxes = [] for out in outs: for detection in out: scores = detection[5:] class_id = np.argmax(scores) confidence = scores[class_id] if confidence > 0.5 and classes[class_id] == "person": # Filter by class and confidence # Object detected center_x = int(detection[0] * width) center_y = int(detection[1] * height) w = int(detection[2] * width) h = int(detection[3] * height) # Rectangle coordinates x = int(center_x - w / 2) y = int(center_y - h / 2) boxes.append([x, y, w, h]) confidences.append(float(confidence)) class_ids.append(class_id) indexes = cv2
video.release() cv2.destroyAllWindows() This example focuses on object detection. Depending on your specific needs, you might need to adjust libraries, models, or entirely different approaches. Ensure you have the necessary models and configuration files (like yolov3.weights , yolov3.cfg , and coco.names for the YOLOv3 example) downloaded and properly referenced.
indexes = cv2.dnn.NMSBoxes(boxes, confidences, 0.5, 0.4)