OpenCV - Bilateraler Filter
Mit der Bildfilterung können Sie verschiedene Effekte auf ein Bild anwenden. In diesem Kapitel und den folgenden drei Kapiteln werden verschiedene Filteroperationen wie bilateraler Filter, Boxfilter, SQR-Boxfilter und Filter2D erläutert.
Bilateraler Filter
Die Operation Bilateraler Filter wendet ein bilaterales Bild auf einen Filter an. Sie können diesen Vorgang für ein Bild mit dem ausführenmedianBlur() Methode der imgprocKlasse. Es folgt die Syntax dieser Methode.
bilateralFilter(src, dst, d, sigmaColor, sigmaSpace, borderType)
Diese Methode akzeptiert die folgenden Parameter:
src - A. Mat Objekt, das die Quelle (Eingabebild) für diese Operation darstellt.
dst - A. Mat Objekt, das das Ziel (Ausgabebild) für diese Operation darstellt.
d - Eine Variable vom Typ Integer, die den Durchmesser der Pixelumgebung darstellt.
sigmaColor - Eine Variable vom Typ Integer, die das Filter-Sigma im Farbraum darstellt.
sigmaSpace - Eine Variable vom Typ Integer, die das Filter-Sigma im Koordinatenraum darstellt.
borderType - Ein ganzzahliges Objekt, das den Typ des verwendeten Rahmens darstellt.
Beispiel
Das folgende Programm zeigt, wie der bilaterale Filtervorgang für ein Bild ausgeführt wird.
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");
}
}
Angenommen, das Folgende ist das Eingabebild filter_input.jpg im obigen Programm angegeben.
Ausgabe
Beim Ausführen des Programms erhalten Sie folgende Ausgabe:
Image Processed
Wenn Sie den angegebenen Pfad öffnen, können Sie das Ausgabebild wie folgt beobachten: