如何使用 Java 在 OpenCV 中画线?
javaobject oriented programmingprogramming
Java OpenCV 库的 org.opencv.imgproc 包包含一个名为 Imgproc 的类。要画线,您需要调用此类的 line() 方法。此方法接受以下参数 −
表示要在其上画线的图像的 Mat 对象。
表示要在其间画线的点的两个 Point 对象。
表示线的颜色的 Scalar 对象。(BGR)
表示线的粗细的整数(默认值:1)。
示例
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[]) { //加载 OpenCV 核心库 System.loadLibrary( Core.NATIVE_LIBRARY_NAME ); //加载 OpenCV 核心库 System.loadLibrary( Core.NATIVE_LIBRARY_NAME ); //将源图像读入 Mat 对象 Mat src = Imgcodecs.imread("D:\images\blank.jpg"); //绘制一条线 Point start = new Point(150, 200); Point end = new Point(450, 200); Scalar color = new Scalar(64, 64, 64); int thick = 10; Imgproc.line(src, start, end, color, thick); //保存并显示图像 Imgcodecs.imwrite("arrowed_line.jpg", src); HighGui.imshow("Drawing a line", src); HighGui.waitKey(); } }
输出
执行时,上述程序生成以下窗口 −