OpenCV - Filtre de boîte
L'opération de filtre de boîte est similaire à l'opération de flou de moyennage; il applique une image bilatérale à un filtre. Ici, vous pouvez choisir si la boîte doit être normalisée ou non.
Vous pouvez effectuer cette opération sur une image en utilisant le boxFilter() méthode de la imgprocclasse. Voici la syntaxe de cette méthode -
boxFilter(src, dst, ddepth, ksize, anchor, normalize, 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.
ddepth - Une variable de type entier représentant la profondeur de l'image de sortie.
ksize - Un Size objet représentant la taille du noyau de flou.
anchor - Une variable de type entier représentant le point d'ancrage.
Normalize - Une variable de type booléen spécifiant le temps que le noyau doit être normalisé.
borderType - Un objet entier représentant le type de bordure utilisée.
Exemple
Le programme suivant montre comment effectuer l'opération Box Filter sur une image.
import org.opencv.core.Core;
import org.opencv.core.Mat;
import org.opencv.core.Point;
import org.opencv.core.Size;
import org.opencv.imgcodecs.Imgcodecs;
import org.opencv.imgproc.Imgproc;
public class BoxFilterTest {
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();
// Creating the objects for Size and Point
Size size = new Size(45, 45);
Point point = Point(-1, -1);
// Applying Box Filter effect on the Image
Imgproc.boxFilter(src, dst, 50, size, point, true, Core.BORDER_DEFAULT);
// Writing the image
Imgcodecs.imwrite("E:/OpenCV/chap11/boxfilterjpg", 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 -