ホームページ > Java > &#&チュートリアル > Java OpenCVライブラリを使用して画像の輪郭を描画するにはどうすればよいですか?

Java OpenCVライブラリを使用して画像の輪郭を描画するにはどうすればよいですか?

WBOY
リリース: 2023-09-04 14:33:01
転載
1056 人が閲覧しました

輪郭とは、特定の形状の境界に沿ったすべての点を結んだ線に他なりません。これを使用すると、-

  • オブジェクトの形状を見つけることができます。

  • 物体の面積を計算します。

  • 物体を検出します。

  • #オブジェクトを識別します。

findContours() メソッドを使用すると、画像内のさまざまな形状やオブジェクトの輪郭を見つけることができます。同じ方法で 次のパラメータを受け入れる

drawContours() メソッドを使用して、見つかった画像の輪郭を描画できます。 -

    # #結果イメージを保存するために使用される空の Mat オブジェクト。
  • #見つかった輪郭を含むリスト オブジェクト。
  • 描画する等高線を指定する整数値 (-ve 値はすべての等高線を描画するために使用されます)。
  • 輪郭の色を指定するスカラー オブジェクト
  • 輪郭の太さを指定する整数値。
  • #例

    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 DrawingContours {
       public static void main(String args[]) throws Exception {
          //Loading the OpenCV core library
          System.loadLibrary( Core.NATIVE_LIBRARY_NAME );
          String file ="D:\Images\shapes.jpg";
          Mat src = Imgcodecs.imread(file);
          //Converting the source image to binary
          Mat gray = new Mat(src.rows(), src.cols(), src.type());
          Imgproc.cvtColor(src, gray, Imgproc.COLOR_BGR2GRAY);
          Mat binary = new Mat(src.rows(), src.cols(), src.type(), new Scalar(0));
          Imgproc.threshold(gray, binary, 100, 255, Imgproc.THRESH_BINARY_INV);
          //Finding Contours
          List<MatOfPoint> contours = new ArrayList<>();
          Mat hierarchey = new Mat();
          Imgproc.findContours(binary, contours, hierarchey, Imgproc.RETR_TREE,
          Imgproc.CHAIN_APPROX_SIMPLE);
          //Drawing the Contours
          Scalar color = new Scalar(0, 0, 255);
          Imgproc.drawContours(src, contours, -1, color, 2, Imgproc.LINE_8,
          hierarchey, 2, new Point() ) ;
          HighGui.imshow("Drawing Contours", src);
          HighGui.waitKey();
       }
    }
    ログイン後にコピー

以上がJava OpenCVライブラリを使用して画像の輪郭を描画するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:tutorialspoint.com
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート