Random_anna.mp4
layer_names = net.getLayerNames() output_layers = [layer_names[i - 1] for i in net.getUnconnectedOutLayers()]
cv2.imshow("Image", frame) if cv2.waitKey(1) & 0xFF == ord('q'): break
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)
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. random_anna.mp4
video = cv2.VideoCapture('random_anna.mp4')
# Detecting objects blob = cv2.dnn.blobFromImage(frame, 0.00392, (416, 416), (0, 0, 0), True, crop=False) net.setInput(blob) outs = net.forward(output_layers) layer_names = net
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)