Heim  >  Artikel  >  Java  >  Wie zeichne ich gefüllte Polygone in OpenCV mit Java?

Wie zeichne ich gefüllte Polygone in OpenCV mit Java?

WBOY
WBOYnach vorne
2023-08-25 13:53:061211Durchsuche

Das Paket org.opencv.imgproc der Java OpenCV-Bibliothek enthält eine Klasse namens Imgproc. Um ein gefülltes Polygon zu zeichnen, müssen Sie die Methode fillPoly() dieser Klasse aufrufen. Die Methode akzeptiert die folgenden Parameter:

  • Ein Mat-Objekt, das das Bild darstellt, auf dem das Polygon gezeichnet werden soll.

  • Ein Listenobjekt, das Objekte vom Typ MatOfPoint enthält.

  • Ein Skalarobjekt, das die Farbe eines Polygons darstellt.

  • stellt eine Ganzzahl vom Linientyp dar.

Beispiel

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

Ausgabe

Nach der Ausführung des obigen Programms wird das folgende Fenster generiert −

Wie zeichne ich gefüllte Polygone in OpenCV mit Java?

Das obige ist der detaillierte Inhalt vonWie zeichne ich gefüllte Polygone in OpenCV mit Java?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Dieser Artikel ist reproduziert unter:tutorialspoint.com. Bei Verstößen wenden Sie sich bitte an admin@php.cn löschen