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

JavaのOpenCVimshow()メソッドに代わるものはありますか?


HighGui org.opencv.highguiのクラス パッケージを使用すると、ウィンドウを作成および操作して表示できます。このクラスのimshow()メソッドを使用して、ウィンドウに画像を表示できます。このメソッドは2つのパラメーターを受け入れます-

  • ウィンドウの名前を表す文字列変数。

  • 画像の内容を表すMatオブジェクト。

waitKey()を呼び出すことをお勧めします imshow()の後のメソッド 。

次の例では、画像を読み取り、それをグレースケール画像に変換し、その中のエッジを検出して、HighGuiを使用してウィンドウに3つの画像すべて(元の画像、グレースケール画像、およびエッジ)を表示します。

import org.opencv.core.Core;
import org.opencv.core.Mat;
import org.opencv.highgui.HighGui;
import org.opencv.imgcodecs.Imgcodecs;
import org.opencv.imgproc.Imgproc;
public class ImshowExample {
   public static void main(String args[]) {
      //Loading the OpenCV core library
      System.loadLibrary(Core.NATIVE_LIBRARY_NAME);
      //Reading the Image from the file
      Mat src = Imgcodecs.imread("D://images//window.jpg");
      HighGui.imshow("Original Image", src);
      //Converting color to gray scale
      Mat gray = new Mat(src.rows(), src.cols(), src.type());
      Imgproc.cvtColor(src, gray, Imgproc.COLOR_RGB2GRAY);
      HighGui.imshow("Gray Scale Image", gray);
      //Applying canny
      Mat dst = new Mat(src.rows(), src.cols(), src.type());
      Imgproc.Canny(gray, dst, 100, 100*3);
      HighGui.imshow("Edges", dst);
      HighGui.waitKey();
   }
}

出力

実行すると、上記のプログラムは以下に示すように3つのウィンドウを生成します-

元の画像-

JavaのOpenCVimshow()メソッドに代わるものはありますか?

グレースケール画像-

JavaのOpenCVimshow()メソッドに代わるものはありますか?

エッジが強調表示された画像-

JavaのOpenCVimshow()メソッドに代わるものはありますか?


  1. JavaOpenCVメソッドを使用せずに画像をグレースケールに変換します。

    カラー画像をグレースケールに変換します。 各ピクセルの赤、緑、青の値を取得します これらの3色の平均を取得します。 RGB値を平均に置き換えます。 変更した色から新しいピクセル値を作成します。 新しい値をピクセルに設定します。 例 import java.io.File; import java.io.IOException; import java.awt.Color; import java.awt.image.BufferedImage; import javax.imageio.ImageIO; public class Color2Grey { &n

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

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