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 -