brxerq commited on
Commit
c9bbd35
1 Parent(s): 16d8e49

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +8 -6
app.py CHANGED
@@ -63,6 +63,7 @@ def perform_detection(image, interpreter, labels):
63
  classes = interpreter.get_tensor(output_details[classes_idx]['index'])[0]
64
  scores = interpreter.get_tensor(output_details[scores_idx]['index'])[0]
65
 
 
66
  for i in range(len(scores)):
67
  if ((scores[i] > 0.5) and (scores[i] <= 1.0)):
68
  ymin = int(max(1, (boxes[i][0] * imH)))
@@ -78,6 +79,7 @@ def perform_detection(image, interpreter, labels):
78
  cv2.rectangle(image, (xmin, label_ymin - labelSize[1] - 10), (xmin + labelSize[0], label_ymin + baseLine - 10), (255, 255, 255), cv2.FILLED)
79
  cv2.putText(image, label, (xmin, label_ymin - 7), cv2.FONT_HERSHEY_SIMPLEX, 0.7, (0, 0, 0), 2)
80
 
 
81
  return image
82
 
83
  def resize_image(image, size=640):
@@ -85,13 +87,12 @@ def resize_image(image, size=640):
85
 
86
  def detect_image(input_image):
87
  image = np.array(input_image)
88
- resized_image = resize_image(image)
89
  result_image = perform_detection(resized_image, interpreter, labels)
90
- result_image_resized = resize_image(result_image)
91
- return Image.fromarray(result_image_resized)
92
 
93
  def detect_video(input_video):
94
- cap = cv2.VideoCapture(input_video.name)
95
  frames = []
96
 
97
  while cap.isOpened():
@@ -99,7 +100,8 @@ def detect_video(input_video):
99
  if not ret:
100
  break
101
 
102
- result_frame = perform_detection(frame, interpreter, labels)
 
103
  frames.append(result_frame)
104
 
105
  cap.release()
@@ -109,7 +111,7 @@ def detect_video(input_video):
109
 
110
  height, width, layers = frames[0].shape
111
  size = (width, height)
112
- output_video_path = "result_" + os.path.basename(input_video.name)
113
  out = cv2.VideoWriter(output_video_path, cv2.VideoWriter_fourcc(*'mp4v'), 15, size)
114
 
115
  for frame in frames:
 
63
  classes = interpreter.get_tensor(output_details[classes_idx]['index'])[0]
64
  scores = interpreter.get_tensor(output_details[scores_idx]['index'])[0]
65
 
66
+ detections = []
67
  for i in range(len(scores)):
68
  if ((scores[i] > 0.5) and (scores[i] <= 1.0)):
69
  ymin = int(max(1, (boxes[i][0] * imH)))
 
79
  cv2.rectangle(image, (xmin, label_ymin - labelSize[1] - 10), (xmin + labelSize[0], label_ymin + baseLine - 10), (255, 255, 255), cv2.FILLED)
80
  cv2.putText(image, label, (xmin, label_ymin - 7), cv2.FONT_HERSHEY_SIMPLEX, 0.7, (0, 0, 0), 2)
81
 
82
+ detections.append([object_name, scores[i], xmin, ymin, xmax, ymax])
83
  return image
84
 
85
  def resize_image(image, size=640):
 
87
 
88
  def detect_image(input_image):
89
  image = np.array(input_image)
90
+ resized_image = resize_image(image, size=640) # Resize input image
91
  result_image = perform_detection(resized_image, interpreter, labels)
92
+ return Image.fromarray(result_image)
 
93
 
94
  def detect_video(input_video):
95
+ cap = cv2.VideoCapture(input_video)
96
  frames = []
97
 
98
  while cap.isOpened():
 
100
  if not ret:
101
  break
102
 
103
+ resized_frame = resize_image(frame, size=640) # Resize each frame
104
+ result_frame = perform_detection(resized_frame, interpreter, labels)
105
  frames.append(result_frame)
106
 
107
  cap.release()
 
111
 
112
  height, width, layers = frames[0].shape
113
  size = (width, height)
114
+ output_video_path = "result_" + os.path.basename(input_video)
115
  out = cv2.VideoWriter(output_video_path, cv2.VideoWriter_fourcc(*'mp4v'), 15, size)
116
 
117
  for frame in frames: