如何使用 Java 在 OpenCV 中繪製一個多邊形?


內角均小於 180 的多邊形被稱為凸多邊形。Java OpenCV 庫的 org.opencv.imgproc 包含一個名為 Imgproc 的類。要繪製多邊形,您需要呼叫此類的 fillConvexPoly() 方法。該方法接受 3 個引數 −

  • 表示繪製多邊形的影像的 Mat 物件。

  • 將繪製多邊形的 MatOfPoint 物件點。

  • 表示多邊形顏色的標量物件。

示例

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 DrawingConvexPolygon {
   public static void main(String args[]) {
      //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 an arrowed line
      MatOfPoint points = new MatOfPoint (
         new Point(108, 71), new Point(232, 52),
         new Point(321, 161), new Point(269, 250),
         new Point(126, 232), new Point(108, 71)
      );
      Scalar color = new Scalar(64, 64, 64);
      Imgproc.fillConvexPoly (src, points, color);
      //Saving and displaying the image
      Imgcodecs.imwrite("arrowed_line.jpg", src);
      HighGui.imshow("Drawing an polygon", src);
      HighGui.waitKey();
   }
}

輸出

執行上述程式後,將生成以下視窗 −

更新時間:10-Apr-2020

390 次瀏覽

開啟你的職業

完成課程以獲得認證

開始
廣告