Martin Tomov commited on
Commit
253fe94
1 Parent(s): e692102

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +5 -4
app.py CHANGED
@@ -136,12 +136,13 @@ def extract_and_paste_insect(original_image: np.ndarray, detection: DetectionRes
136
  insect_crop = original_image[ymin:ymax, xmin:xmax]
137
  mask_crop = mask[ymin:ymax, xmin:xmax]
138
 
139
- # Ensure the insect retains its original color
140
- insect = cv2.bitwise_and(insect_crop, insect_crop, mask=mask_crop)
 
 
141
 
142
- # np.where to ensure correct blending
143
  for c in range(3):
144
- background[ymin:ymax, xmin:xmax, c] = np.where(mask_crop, insect[:, :, c], background[ymin:ymax, xmin:xmax, c])
145
 
146
  def create_yellow_background_with_insects(image: np.ndarray, detections: List[DetectionResult]) -> np.ndarray:
147
  yellow_background = np.full((image.shape[0], image.shape[1], 3), (0, 255, 255), dtype=np.uint8) # BGR for yellow
 
136
  insect_crop = original_image[ymin:ymax, xmin:xmax]
137
  mask_crop = mask[ymin:ymax, xmin:xmax]
138
 
139
+ # Ensure the insect retains its original color by directly copying the pixel values
140
+ insect = np.zeros_like(insect_crop)
141
+ for c in range(3):
142
+ insect[:, :, c] = insect_crop[:, :, c] * (mask_crop / 255)
143
 
 
144
  for c in range(3):
145
+ background[ymin:ymax, xmin:xmax, c] = background[ymin:ymax, xmin:xmax, c] * (1 - mask_crop / 255) + insect[:, :, c]
146
 
147
  def create_yellow_background_with_insects(image: np.ndarray, detections: List[DetectionResult]) -> np.ndarray:
148
  yellow_background = np.full((image.shape[0], image.shape[1], 3), (0, 255, 255), dtype=np.uint8) # BGR for yellow