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

Làm thế nào để vẽ một đường thẳng 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. Để vẽ một đường thẳng, bạn cần gọi line () 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.highgui.HighGui;
import org.opencv.imgcodecs.Imgcodecs;
import org.opencv.imgproc.Imgproc;
public class DrawingLine {
   Mat matrix = null;
   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 line
      Point start = new Point(150, 200);
      Point end = new Point(450, 200);
      Scalar color = new Scalar(64, 64, 64);
      int thickness = 10;
      Imgproc.line(src, start, end, color, thickness);
      //Saving and displaying the image
      Imgcodecs.imwrite("arrowed_line.jpg", src);
      HighGui.imshow("Drawing a 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 thẳng trong OpenCV bằng Java?