Saad0KH commited on
Commit
89454d0
·
verified ·
1 Parent(s): 550f163

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +6 -5
app.py CHANGED
@@ -59,12 +59,13 @@ def visualize(image: np.ndarray, bboxes: np.ndarray, vbboxes: np.ndarray) -> np.
59
  return res
60
 
61
 
62
- def extract_persons(image: np.ndarray, bboxes: np.ndarray) -> list[np.ndarray]:
63
  person_images = []
64
  for bbox in bboxes:
65
  x1, y1, x2, y2 = bbox
66
  person_image = image[y1:y2, x1:x2] # Crop the detected person
67
- person_images.append(person_image)
 
68
  return person_images
69
 
70
 
@@ -72,12 +73,12 @@ detector = load_model()
72
  detector.prepare(-1, nms_thresh=0.5, input_size=(640, 640))
73
 
74
 
75
- def detect(image: np.ndarray) -> tuple[np.ndarray, list[np.ndarray]]:
76
  image = image[:, :, ::-1] # RGB -> BGR
77
  bboxes, vbboxes = detect_person(image, detector)
78
  res = visualize(image, bboxes, vbboxes)
79
- person_images = extract_persons(res, bboxes) # Extract each person as a separate image
80
- return res[:, :, ::-1], person_images # BGR -> RGB
81
 
82
 
83
  examples = sorted(pathlib.Path("images").glob("*.jpg"))
 
59
  return res
60
 
61
 
62
+ def extract_persons(image: np.ndarray, bboxes: np.ndarray) -> list[Image.Image]:
63
  person_images = []
64
  for bbox in bboxes:
65
  x1, y1, x2, y2 = bbox
66
  person_image = image[y1:y2, x1:x2] # Crop the detected person
67
+ person_pil_image = Image.fromarray(person_image)
68
+ person_images.append(person_pil_image)
69
  return person_images
70
 
71
 
 
73
  detector.prepare(-1, nms_thresh=0.5, input_size=(640, 640))
74
 
75
 
76
+ def detect(image: np.ndarray) -> tuple[Image.Image, list[Image.Image]]:
77
  image = image[:, :, ::-1] # RGB -> BGR
78
  bboxes, vbboxes = detect_person(image, detector)
79
  res = visualize(image, bboxes, vbboxes)
80
+ person_images = extract_persons(res, bboxes) # Convert to PIL images
81
+ return Image.fromarray(res[:, :, ::-1]), person_images # BGR -> RGB, convert to PIL
82
 
83
 
84
  examples = sorted(pathlib.Path("images").glob("*.jpg"))