sudip2003 commited on
Commit
9270c11
·
verified ·
1 Parent(s): 2fb1271

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +10 -7
app.py CHANGED
@@ -38,7 +38,6 @@
38
  # if __name__ == "__main__":
39
  # demo.launch()
40
 
41
-
42
  import gradio as gr
43
  import cv2
44
  import numpy as np
@@ -50,9 +49,9 @@ model = YOLO(r"best.pt")
50
  def process_image(image):
51
  image = cv2.cvtColor(image, cv2.COLOR_RGB2BGR)
52
  results = model.predict(image, conf=0.15)
53
-
54
  detected_faces = len(results[0].boxes.cls) if results[0].boxes is not None else 0
55
-
56
  if detected_faces == 1:
57
  mask_tensor = results[0].masks.data[0].cpu().numpy()
58
  mask = (mask_tensor * 255).astype(np.uint8)
@@ -66,10 +65,13 @@ def process_image(image):
66
  rgba_image[:, :, 3] = mask
67
 
68
  return rgba_image
69
- elif detected_faces > 1:
70
- return "Error: Uploaded image has more than one face. Please upload a different image."
71
- else:
72
- return "Error: No face detected. Please upload a valid image."
 
 
 
73
 
74
  demo = gr.Interface(
75
  fn=process_image,
@@ -81,3 +83,4 @@ demo = gr.Interface(
81
 
82
  if __name__ == "__main__":
83
  demo.launch()
 
 
38
  # if __name__ == "__main__":
39
  # demo.launch()
40
 
 
41
  import gradio as gr
42
  import cv2
43
  import numpy as np
 
49
  def process_image(image):
50
  image = cv2.cvtColor(image, cv2.COLOR_RGB2BGR)
51
  results = model.predict(image, conf=0.15)
52
+
53
  detected_faces = len(results[0].boxes.cls) if results[0].boxes is not None else 0
54
+
55
  if detected_faces == 1:
56
  mask_tensor = results[0].masks.data[0].cpu().numpy()
57
  mask = (mask_tensor * 255).astype(np.uint8)
 
65
  rgba_image[:, :, 3] = mask
66
 
67
  return rgba_image
68
+
69
+ # Return a blank image with error text
70
+ error_image = np.zeros((300, 500, 3), dtype=np.uint8)
71
+ error_message = "Error: More than one face detected.\nPlease upload a different image."
72
+ cv2.putText(error_image, error_message, (20, 150), cv2.FONT_HERSHEY_SIMPLEX, 0.7, (0, 0, 255), 2, cv2.LINE_AA)
73
+
74
+ return error_image
75
 
76
  demo = gr.Interface(
77
  fn=process_image,
 
83
 
84
  if __name__ == "__main__":
85
  demo.launch()
86
+