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