Object Detection
This commit is contained in:
parent
2d8845abd4
commit
fee33b0d42
52
mediapipe/python/solutions/ObjectDetection.py
Normal file
52
mediapipe/python/solutions/ObjectDetection.py
Normal file
|
@ -0,0 +1,52 @@
|
|||
import cv2
|
||||
import os
|
||||
from Bounding_boxes import run
|
||||
from Bounding_boxes import boxing
|
||||
|
||||
|
||||
def ObjectDetection(video_path):
|
||||
|
||||
path = os.path.abspath(video_path)
|
||||
|
||||
if(video_path==0):
|
||||
cap = cv2.VideoCapture(0)
|
||||
|
||||
else:
|
||||
cap = cv2.VideoCapture(path)
|
||||
|
||||
ret = True #creates a boolean
|
||||
ret, old_frame = cap.read() #ret is true and the first frame of video saved in old_frame
|
||||
|
||||
|
||||
net = cv2.dnn.readNet('modules/object_detection/object_detection_weights.weights', 'modules/object_detection/object_detection.cfg')
|
||||
|
||||
classes = []
|
||||
|
||||
with open('modules/object_detection/object_detection_labels.txt', 'r') as f:
|
||||
classes = f.read().splitlines()
|
||||
|
||||
if not cap.isOpened():
|
||||
raise IOError("Cannot open webcam/Cannot read file")
|
||||
|
||||
while ret:
|
||||
ret, frame = cap.read() #saves the first frame of video in frame
|
||||
|
||||
indexes = []
|
||||
boxes = []
|
||||
class_ids = []
|
||||
confidences = []
|
||||
indexes, boxes, class_ids, confidences = run(frame, net, classes)
|
||||
font = cv2.FONT_HERSHEY_PLAIN
|
||||
|
||||
if len(indexes) <= 0: #if no bounding box
|
||||
continue
|
||||
elif len(indexes) > 0: #if bounding box is presrnt
|
||||
|
||||
frame = boxing(frame, indexes, boxes, class_ids, confidences, classes, font)
|
||||
cv2.imshow('Output', frame)
|
||||
c = cv2.waitKey(1) #new frame comes after () ms
|
||||
if cv2.waitKey(1) & 0xFF == ord('q'): #press q on keyboard to stop the webcam
|
||||
break
|
||||
|
||||
cap.release()
|
||||
cv2.destroyAllWindows() #Once out of the while loop, the pop-up window closes automatically
|
Loading…
Reference in New Issue
Block a user