Maison >Java >javaDidacticiel >Comment dessiner des polygones remplis dans OpenCV en utilisant Java ?

Comment dessiner des polygones remplis dans OpenCV en utilisant Java ?

WBOY
WBOYavant
2023-08-25 13:53:061273parcourir

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.

Exemple

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();
   }
}

Output

Après avoir exécuté le programme ci-dessus, la fenêtre suivante sera générée −

Comment dessiner des polygones remplis dans OpenCV en utilisant Java ?

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!

Déclaration:
Cet article est reproduit dans:. en cas de violation, veuillez contacter admin@php.cn Supprimer