generated from LouisMazin/PythonApplicationTemplate
31 lines
866 B
Python
31 lines
866 B
Python
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
|