Le package org.opencv.imgproc de la bibliothèque Java OpenCV contient une classe appelée Imgproc. Pour dessiner un polygone rempli, vous devez appeler la méthode fillPoly() de cette classe. La méthode accepte les paramètres suivants :
Un objet Mat représentant l'image sur laquelle le polygone doit être dessiné.
Un objet List contenant des objets de type MatOfPoint.
Un objet scalaire représentant la couleur d'un polygone.
représente un entier de type de ligne.
import java.util.ArrayList; import java.util.List; import org.opencv.core.Core; import org.opencv.core.Mat; import org.opencv.core.MatOfPoint; import org.opencv.core.Point; import org.opencv.core.Scalar; import org.opencv.highgui.HighGui; import org.opencv.imgcodecs.Imgcodecs; import org.opencv.imgproc.Imgproc; public class DrawingFilledPolygon { public static void main(String args[]) { //Loading the OpenCV core library System.loadLibrary( Core.NATIVE_LIBRARY_NAME ); //Loading the OpenCV core library System.loadLibrary( Core.NATIVE_LIBRARY_NAME ); //Reading the source image in to a Mat object Mat src = Imgcodecs.imread("D:\images\blank.jpg"); //Drawing a polygon List<MatOfPoint>list = new ArrayList<MatOfPoint>(); list.add(new MatOfPoint ( new Point(208, 71), new Point(421, 161), new Point(332, 52), new Point(369, 250), new Point(421, 161), new Point(226, 232), new Point(369, 250), new Point(208, 71), new Point(226, 232), new Point(332, 52))); Scalar color = new Scalar(64, 64, 64); int lineType = Imgproc.LINE_8; Imgproc.fillPoly(src, list, color, lineType); //Saving and displaying the image Imgcodecs.imwrite("arrowed_line.jpg", src); HighGui.imshow("Drawing a polygon", src); HighGui.waitKey(); } }
Après avoir exécuté le programme ci-dessus, la fenêtre suivante sera générée −
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!