Java
 Computer >> コンピューター >  >> プログラミング >> Java

Javaを使用してOpenCVでポリゴンを描画するにはどうすればよいですか?


すべての内角が180未満のポリゴンは、凸多角形と呼ばれます。 Java OpenCVライブラリのorg.opencv.imgprocパッケージには、Imgprocという名前のクラスが含まれています。ポリゴンを描画するには、 fillConvexPoly()を呼び出す必要があります このクラスのメソッド。このメソッドは3つのパラメーターを受け入れます-

  • ポリゴンが描画される画像を表すマットオブジェクト。

  • MatOfPointオブジェクトは、その間にポリゴンが描画されるポイントを指します。

  • ポリゴンの色を表すScalarオブジェクト。

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 DrawingConvexPolygon {
   public static void main(String args[]) {
      //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 an arrowed line
      MatOfPoint points = new MatOfPoint (
         new Point(108, 71), new Point(232, 52),
         new Point(321, 161), new Point(269, 250),
         new Point(126, 232), new Point(108, 71)
      );
      Scalar color = new Scalar(64, 64, 64);
      Imgproc.fillConvexPoly (src, points, color);
      //Saving and displaying the image
      Imgcodecs.imwrite("arrowed_line.jpg", src);
      HighGui.imshow("Drawing an polygon", src);
      HighGui.waitKey();
   }
}

出力

上記のプログラムを実行すると、次のウィンドウが生成されます-

Javaを使用してOpenCVでポリゴンを描画するにはどうすればよいですか?


  1. Java OpenCVライブラリを使用して画像を反転する方法は?

    flip() コアのメソッド OpenCVのクラスは、x/y軸に沿って画像を反転します。このメソッドは-を受け入れます 元の画像のデータを構成するソースマトリックス。 結果の画像のデータを保持するための空の宛先マトリックス。 画像の方向を指定するフリップコード(0 –x軸、+ ve – y軸、– ve両方の軸)。 画像を反転するには- loadLibrary()メソッドを使用して、OpenCVコアネイティブライブラリをロードします。 imread()メソッドを使用して、画像ファイルの内容をマトリックスに読み込みます。 結果を保持するために空のマトリック

  2. Java OpenCVライブラリを使用してイメージを作成するにはどうすればよいですか?

    OpenCVライブラリを使用すると、画像フィルタリング、幾何学的画像変換、色空間変換、ヒストグラムなどの画像処理操作を実行できます。 画像を書く Imgcodecsクラスのimread()メソッドを使用して画像のコンテンツを読み取るたびに、結果がMatrixオブジェクトに読み込まれます。 imwrite()メソッドを使用してイメージを書き込み/保存できます。これは2つのパラメータ、つまり-を受け入れます ファイル −結果を保存するファイルパスを表す文字列値。 Img −保存する画像のデータを含むマトリックスオブジェクト。 例 次のJavaの例は画像の内容を読み取りますc