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

Làm thế nào để vẽ một đường có mũi tên trong OpenCV bằng Java?


Gói org.opencv.imgproc của thư viện Java OpenCV chứa một lớp có tên Imgproc lớp này cung cấp các phương thức khác nhau để xử lý ảnh đầu vào. Nó cung cấp một tập hợp các phương pháp để vẽ các hình dạng hình học trên hình ảnh.

Để vẽ một đường có mũi tên, bạn cần gọi arrowedLine () phương thức của lớp này. Phương thức này chấp nhận các tham số sau -

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

  • Hai đối tượng Point đại diện cho các điểm mà giữa đó đường sẽ được vẽ.

  • Một đối tượng Scalar đại diện cho màu của đường thẳng. (BGR)

  • Một số nguyên đại diện cho độ dày của đường (mặc định:1).

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.imgcodecs.Imgcodecs;
import org.opencv.imgproc.Imgproc;
import org.opencv.highgui.HighGui;
public class DrawingArrowedLine {
   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
      Point start = new Point(100, 200);
      Point end = new Point(500, 200);
      Scalar color = new Scalar(64, 64, 64);
      int thickness = 10;
      Imgproc.arrowedLine(src, start, end, color, thickness);
      //Saving and displaying the image
      Imgcodecs.imwrite("arrowed_line.jpg", src);
      HighGui.imshow("Drawing an arrowed line", 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 đường có mũi tên trong OpenCV bằng Java?