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

Làm thế nào để vẽ một vòng tròn đầy trong OpenCV bằng Java?


org.opencv.imgproc gói thư viện Java OpenCV chứa một lớp có tên Imgproc. Lớp này cung cấp một phương thức có tên là circle () , bằng cách sử dụng này, bạn có thể vẽ hình tròn trên một hình ảnh. Phương thức này cung cấp các tham số sau -

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

  • Một đối tượng Point đại diện cho tâm của vòng tròn.

  • Một biến số nguyên đại diện cho bán kính của hình tròn.

  • Đối tượng Vô hướng đại diện cho màu của hình tròn (BGR).

  • Một số nguyên đại diện cho độ dày của hình tròn (mặc định là 1).

Nếu bạn vượt qua Imgproc.FILLED là kiểu dòng, phương pháp này tạo / vẽ một vòng tròn đầy.

Ví dụ

import org.opencv.core.Core;
import org.opencv.core.Mat;
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 DrawingFilledCircle {
   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 Circle
      Point center = new Point(300, 200);
      int radius =100;
      Scalar color = new Scalar(64, 64, 64);
      int thickness = Imgproc.FILLED;
      Imgproc.circle (src, center, radius, color, thickness);
      //Saving and displaying the image
      Imgcodecs.imwrite("arrowed_line.jpg", src);
      HighGui.imshow("Drawing a circle", 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 vòng tròn đầy trong OpenCV bằng Java?