Spaces:
Sleeping
Sleeping
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
|