| azubal | Bon, j'ai réussi à bricoler une implémentation qui donne un résultat satisfaisant mais c'est pas du tout optimisé car la fonction prends plus d'une seconde à s'exécuter sur une image de 768px   
 | Code : 
 def dilate_mask(mask, dilation_amt):    mask_out = mask.copy()    for i in range(dilation_amt):        x, y = np.meshgrid(np.arange(i + 1), np.arange(i + 1))        center = (i + 1) // 2
        dilation_kernel = ((x - center)**2 + (y - center)**2 <= center**2).astype(np.uint8)        #dilation_kernel = np.ones((i+1, i+1))           img_np_dilated = binary_dilation(mask, structure=dilation_kernel, iterations=2)        img_np_dilated_with_color = img_np_dilated * ((1 - (i / dilation_amt)) * 255)        img_np_dilated_mask = (mask_out == 0)               mask_out[img_np_dilated_mask] = img_np_dilated_with_color[img_np_dilated_mask]    dilated_mask = Image.fromarray(mask_out.astype(np.uint8) * 255)    return dilated_mask, mask_out   def dilate_and_colorize(image_path, kernel_size):    img_np = np.array(Image.open(image_path).convert('L'))    img_np_dilated = dilate_mask(img_np, kernel_size)[1]       return Image.fromarray(img_np_dilated)      # Utilisation de la fonctionimage_path = "mask.png"kernel_size = 64  # Plus c'est grand, plus c'est long :(dilate_and_colorize(image_path, kernel_size).save("mask3.png" )
 | 
   |