Computer >> Máy Tính >  >> Lập trình >> Java

Làm thế nào để vẽ một đa giác trong OpenCV bằng Java?


Đa giác có tất cả các góc bên trong nhỏ hơn 180 được gọi là đa giác lồi. Gói org.opencv.imgproc của thư viện Java OpenCV chứa một lớp có tên Imgproc. Để vẽ một đa giác, bạn cần gọi fillConvexPoly () phương thức của lớp này. Phương thức này chấp nhận 3 tham số -

  • Một đối tượng Mat đại diện cho hình ảnh mà đa giác sẽ được vẽ trên đó.

  • Một đối tượng MatOfPoint trỏ vào giữa mà đa giác sẽ được vẽ.

  • Đối tượng Vô hướng đại diện cho màu của đa giác.

Ví dụ

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

Đầu ra

Khi thực thi, chương trình trên tạo ra cửa sổ sau -

Làm thế nào để vẽ một đa giác trong OpenCV bằng Java?