How to draw markers on an image using Java OpenCV library?

JavaObject Oriented ProgrammingProgramming

You can draw makers on an image using the drawMarker() method of the org.opencv.imgproc.Imgproc class. This method accepts the following parameters −

  • img − A Mat object representing the input image.

  • position − An object of the class Point to specify the position of the marker.

  • color − An object of the class Scalar to specify the color of the marker.

  • markerType − An integer constant specifying the type of the marker.

  • size − An integer value specifying the size of the marker.

  • thickness − An integer value specifying the thickness of the marker.


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 DrawingMarkers {
   public static void main(String args[]) throws Exception {
      //Loading the OpenCV core library
      System.loadLibrary( Core.NATIVE_LIBRARY_NAME );
      //Reading the contents of the image
      String file ="D:\\Images\\elephant.jpg";
      Mat src = Imgcodecs.imread(file);
      //Preparing color and position of the marker
      Scalar color = new Scalar(0, 0, 125);
      Point point = new Point(150, 260);
      //Drawing marker
      Imgproc.drawMarker(src, point, color, Imgproc.MARKER_SQUARE, 150, 8, Imgproc.LINE_8);
      HighGui.imshow("Drawing Markers", src);

Input Image


On executing the above program generates the following window −

Published on 10-Apr-2020 12:33:57