java基于OpenCv图像处理_绘图_画线

3、 java基于OpenCv图像处理_绘图_画线

~ 本文依然使用javaCv封装的openCv,使用方式看第一章~

3.1、画线

要绘制一条线,您需要传递线的开始和结束坐标。我们将创建一个黑色图像,并从左上角到右下
角在其上绘制一条红线。

public static void main(String[] args) {
        Scalar bck = new Scalar(255, 255, 255, 0); // B G R 0  白色
        Scalar scalar = new Scalar(0, 0, 255, 0); // B G R 0 红色
        Mat mat = new Mat(new Size(400, 500), opencv_core.CV_8UC3, bck);
        opencv_imgproc.line(mat, new Point(11, 22), new Point(220, 330), scalar);
        ImageViewer imageViewer = new ImageViewer(mat);
        imageViewer.imshow();
}

java基于OpenCv图像处理_绘图_画线_第1张图片

3.1、画椭圆

要绘制椭圆,我们需要传递几个参数。一个参数是中心位置(x,y)。下一个参数是轴长度(长
轴长度,短轴长度)。angle是椭圆沿逆时针方向旋转的角度。startAngle和endAngle表示从主轴
沿顺时针方向测量的椭圆弧的开始和结束。即给出0和360给出完整的椭圆。
下面的示例在图像的中心绘制一个椭圆形。

public static void main(String[] args) {
        Scalar bck = new Scalar(255, 255, 255, 0); // B G R 0  白色
        Scalar scalar = new Scalar(0, 0, 255, 0); // B G R 0 红色
        Mat mat = new Mat(new Size(400, 500), opencv_core.CV_8UC3, bck);
        opencv_imgproc.ellipse(mat, new Point(256, 256), new Size(100, 50), 0, 0, 360, scalar);
        ImageViewer imageViewer = new ImageViewer(mat);
        imageViewer.imshow();
}

java基于OpenCv图像处理_绘图_画线_第2张图片

3.2、画矩形

要绘制矩形,您需要矩形的左上角和右下角。这次,我们将在图像的右上角绘制一个矩形。

public static void main(String[] args) {
        Scalar bck = new Scalar(255, 255, 255, 0); // B G R 0  白色
        Scalar scalar = new Scalar(0, 0, 255, 0); // B G R 0 红色
        Mat mat = new Mat(new Size(400, 500), opencv_core.CV_8UC3, bck);
        opencv_imgproc.rectangle(mat, new Point(100, 20), new Point(310, 148), scalar);
        ImageViewer imageViewer = new ImageViewer(mat);
        imageViewer.imshow();
}

java基于OpenCv图像处理_绘图_画线_第3张图片

3.3、画圆圈

要绘制一个圆,需要其中心坐标和半径。我们将在上面绘制的矩形内绘制一个圆。

public static void main(String[] args) {
        Scalar bck = new Scalar(255, 255, 255, 0); // B G R 0  白色
        Scalar scalar = new Scalar(0, 0, 255, 0); // B G R 0 红色
        Mat mat = new Mat(new Size(400, 500), opencv_core.CV_8UC3, bck);
        opencv_imgproc.circle(mat,new Point(100,100),63,scalar);
        ImageViewer imageViewer = new ImageViewer(mat);
        imageViewer.imshow();
}

java基于OpenCv图像处理_绘图_画线_第4张图片

3.4、向图片添加文本

要将文本放入图像中,需要指定以下内容。 - 您要写入的文字数据 - 您要放置它的位置坐标(即数
据开始的左下角)。 - 字体类型 - 字体比例(指定
字体大小) - 常规的内容,例如颜色,厚度,线条类型等。为了获得更好的外观,建议使用
LINE_AA

public static void main(String[] args) {
        Scalar bck = new Scalar(255, 255, 255, 0); // B G R 0  白色
        Scalar scalar = new Scalar(0, 0, 255, 0); // B G R 0 红色
        Mat mat = new Mat(new Size(400, 500), opencv_core.CV_8UC3, bck);
        opencv_imgproc.putText(mat,"openCv",new Point(10,400),opencv_imgproc.FONT_HERSHEY_SIMPLEX,2,scalar,2,opencv_imgproc.LINE_AA,false);
        ImageViewer imageViewer = new ImageViewer(mat);
        imageViewer.imshow();
}

java基于OpenCv图像处理_绘图_画线_第5张图片

你可能感兴趣的:(javaCv,opencv,java,图像处理)