from numpy import uint8, logical_or def combine_masks(mask1, mask2): """Combine two masks using logical OR operation""" if mask1 is None: return mask2 if mask2 is None: return mask1 # S'assurer que les masks ont la même forme if mask1.shape != mask2.shape: return mask2 # En cas de problème, utiliser le nouveau mask return logical_or(mask1 > 0, mask2 > 0).astype(uint8) * 255 def apply_mask(image_array, mask): if mask is None or image_array is None: return image_array # Vérifier que les dimensions correspondent if len(image_array.shape) != 3 or len(mask.shape) != 2: return image_array if image_array.shape[:2] != mask.shape: return image_array result = image_array.copy() result[mask > 0] = [0, 0, 0] # Pixel noir return result