Home > Java > javaTutorial > How to draw filled polygons in OpenCV using Java?

How to draw filled polygons in OpenCV using Java?

WBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWB
Release: 2023-08-25 13:53:06
forward
1327 people have browsed it

The org.opencv.imgproc package of the Java OpenCV library contains a class named Imgproc. To draw a filled polygon, you need to call the fillPoly() method of this class. The method accepts the following parameters:

  • A Mat object representing the image on which the polygon is to be drawn.

  • A List object containing objects of type MatOfPoint.

  • A Scalar object representing the color of a polygon.

  • An integer representing the line type.

Example

import java.util.ArrayList;
import java.util.List;
import org.opencv.core.Core;
import org.opencv.core.Mat;
import org.opencv.core.MatOfPoint;
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 DrawingFilledPolygon {
   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 polygon
      List<MatOfPoint>list = new ArrayList<MatOfPoint>();
         list.add(new MatOfPoint (
         new Point(208, 71), new Point(421, 161),
         new Point(332, 52), new Point(369, 250),
         new Point(421, 161), new Point(226, 232),
         new Point(369, 250), new Point(208, 71),
         new Point(226, 232), new Point(332, 52)));
      Scalar color = new Scalar(64, 64, 64);
      int lineType = Imgproc.LINE_8;
      Imgproc.fillPoly(src, list, color, lineType);
      //Saving and displaying the image
      Imgcodecs.imwrite("arrowed_line.jpg", src);
      HighGui.imshow("Drawing a polygon", src);
      HighGui.waitKey();
   }
}
Copy after login

Output

Execute the above After the procedure, the following window will be generated −

How to draw filled polygons in OpenCV using Java?

The above is the detailed content of How to draw filled polygons in OpenCV using Java?. For more information, please follow other related articles on the PHP Chinese website!

Related labels:
source:tutorialspoint.com
Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template