Pas encore de compte ?
Un filtre bilatéral est un filtre de lissage non linéaire préservant les bords et réduisant le bruit dans les images.
Il remplace l'intensité de chaque pixel par une moyenne pondérée des valeurs d'intensité des pixels voisins.
Ce poids peut être basé sur une distribution gaussienne.
Les poids dépendent non seulement de la distance euclidienne des pixels mais aussi des différences radiométriques.
Cela préserve les arêtes vives.
Testé sous Anaconda et Python 3.7
import cv2 from matplotlib import pyplot as plt # Read the image. img = cv2.imread('pexels-elias-de-carvalho-1375849.jpg') plt.imshow(cv2.cvtColor(img.astype('uint8'), cv2.COLOR_BGR2RGB)) plt.axis('off') plt.title('Originale') plt.show() # Apply bilateral filter with d = 15, # sigmaColor = sigmaSpace = 75. bilateral = cv2.bilateralFilter(img, 20, 125, 125) # Save the output. # cv2.imwrite('frame_bilateral.jpg', bilateral) plt.imshow(cv2.cvtColor(bilateral.astype('uint8'), cv2.COLOR_BGR2RGB)) plt.axis('off') plt.title('Bilateral') plt.show()
Image originale
Image filtrée - Bilateral
Bienvenu, je m’appelle Eric Soupet et je suis l'administrateur du site elodees.com. elodees.com est un état de l'art de l'Intelligence Artificielle et se veut collaboratif, vous pouvez dès à présent proposer du contenu tels que des articles, des événements, des tutoriels, ... alors n'hésitez pas !
Crédit des images de la plate-forme : Pixabay - Pixabay License | Pexels - Pexels License