Spaces:
Running
Running
Update app.py
Browse files
app.py
CHANGED
@@ -979,14 +979,14 @@ def predict_with_paper(image, paper_size, offset, offset_unit, finger_clearance=
|
|
979 |
|
980 |
if not results or len(results) == 0 or not hasattr(results[0], 'boxes') or len(results[0].boxes) == 0:
|
981 |
logger.warning("No objects detected by YOLOv8, proceeding with full image")
|
982 |
-
cropped_image =
|
983 |
crop_offset = (0, 0)
|
984 |
else:
|
985 |
boxes = results[0].boxes.xyxy.cpu().numpy()
|
986 |
confidences = results[0].boxes.conf.cpu().numpy()
|
987 |
|
988 |
# Filter out very large boxes (likely paper/background)
|
989 |
-
image_area =
|
990 |
valid_boxes = []
|
991 |
|
992 |
for i, box in enumerate(boxes):
|
@@ -998,7 +998,7 @@ def predict_with_paper(image, paper_size, offset, offset_unit, finger_clearance=
|
|
998 |
|
999 |
if not valid_boxes:
|
1000 |
logger.warning("No valid objects detected, proceeding with full image")
|
1001 |
-
cropped_image =
|
1002 |
crop_offset = (0, 0)
|
1003 |
else:
|
1004 |
# Get highest confidence valid box
|
@@ -1017,7 +1017,7 @@ def predict_with_paper(image, paper_size, offset, offset_unit, finger_clearance=
|
|
1017 |
resized_mask = cv2.resize(objects_mask, (cropped_image.shape[1], cropped_image.shape[0]))
|
1018 |
else:
|
1019 |
resized_mask = objects_mask
|
1020 |
-
if x_min == 0 and y_min == 0 and cropped_image.shape[:2] ==
|
1021 |
full_mask = resized_mask # No cropping occurred, use mask directly
|
1022 |
else:
|
1023 |
full_mask[y_min:y_min+resized_mask.shape[0], x_min:x_min+resized_mask.shape[1]] = resized_mask
|
|
|
979 |
|
980 |
if not results or len(results) == 0 or not hasattr(results[0], 'boxes') or len(results[0].boxes) == 0:
|
981 |
logger.warning("No objects detected by YOLOv8, proceeding with full image")
|
982 |
+
cropped_image = image
|
983 |
crop_offset = (0, 0)
|
984 |
else:
|
985 |
boxes = results[0].boxes.xyxy.cpu().numpy()
|
986 |
confidences = results[0].boxes.conf.cpu().numpy()
|
987 |
|
988 |
# Filter out very large boxes (likely paper/background)
|
989 |
+
image_area = image.shape[0] * image.shape[1]
|
990 |
valid_boxes = []
|
991 |
|
992 |
for i, box in enumerate(boxes):
|
|
|
998 |
|
999 |
if not valid_boxes:
|
1000 |
logger.warning("No valid objects detected, proceeding with full image")
|
1001 |
+
cropped_image = image
|
1002 |
crop_offset = (0, 0)
|
1003 |
else:
|
1004 |
# Get highest confidence valid box
|
|
|
1017 |
resized_mask = cv2.resize(objects_mask, (cropped_image.shape[1], cropped_image.shape[0]))
|
1018 |
else:
|
1019 |
resized_mask = objects_mask
|
1020 |
+
if x_min == 0 and y_min == 0 and cropped_image.shape[:2] == image.shape[:2]:
|
1021 |
full_mask = resized_mask # No cropping occurred, use mask directly
|
1022 |
else:
|
1023 |
full_mask[y_min:y_min+resized_mask.shape[0], x_min:x_min+resized_mask.shape[1]] = resized_mask
|