OpenCV - Filtre bilatéral
Le filtrage d'image vous permet d'appliquer divers effets à une image. Dans ce chapitre et les trois chapitres suivants, nous allons discuter de diverses opérations de filtrage telles que Bilateral Filter, Box Filter, SQR Box Filter et Filter2D.
Filtre bilatéral
L'opération Filtre bilatéral applique une image bilatérale à un filtre. Vous pouvez effectuer cette opération sur une image en utilisant lemedianBlur() méthode de la imgprocclasse. Voici la syntaxe de cette méthode.
bilateralFilter(src, dst, d, sigmaColor, sigmaSpace, borderType)
Cette méthode accepte les paramètres suivants -
src - Un Mat objet représentant la source (image d'entrée) de cette opération.
dst - Un Mat objet représentant la destination (image de sortie) de cette opération.
d - Une variable de type entier représentant le diamètre du voisinage des pixels.
sigmaColor - Une variable de type entier représentant le sigma du filtre dans l'espace colorimétrique.
sigmaSpace - Une variable de type entier représentant le sigma du filtre dans l'espace de coordonnées.
borderType - Un objet entier représentant le type de bordure utilisée.
Exemple
Le programme suivant montre comment effectuer l'opération de filtre bilatéral sur une image.
import org.opencv.core.Core;
import org.opencv.core.Mat;
import org.opencv.imgcodecs.Imgcodecs;
import org.opencv.imgproc.Imgproc;
public class BilateralFilter {
public static void main(String args[]) {
// Loading the OpenCV core library
System.loadLibrary( Core.NATIVE_LIBRARY_NAME );
// Reading the Image from the file and storing it in to a Matrix object
String file ="E:/OpenCV/chap11/filter_input.jpg";
Mat src = Imgcodecs.imread(file);
// Creating an empty matrix to store the result
Mat dst = new Mat();
// Applying Bilateral filter on the Image
Imgproc.bilateralFilter(src, dst, 15, 80, 80, Core.BORDER_DEFAULT);
// Writing the image
Imgcodecs.imwrite("E:/OpenCV/chap11/bilateralfilter.jpg", dst);
System.out.println("Image Processed");
}
}
Supposons que ce qui suit est l'image d'entrée filter_input.jpg spécifié dans le programme ci-dessus.
Production
Lors de l'exécution du programme, vous obtiendrez la sortie suivante -
Image Processed
Si vous ouvrez le chemin spécifié, vous pouvez observer l'image de sortie comme suit -