申し訳ありません私は愚かな質問をしている場合、私はJavaビルドを使用してopenCVを学ぼうとしています。 opencvのサンプルでは、メソッドのimshowがC++やshowImageのPythonであることがわかりましたが、opencv Java APIで検索しましたが、imshowメソッドが見つかりませんでした。opencv Javaビルドでのimshowの等価メソッド
Javaビルドでopencvのimshow()とwaitKey()と同等のメソッドは何ですか?
申し訳ありません私は愚かな質問をしている場合、私はJavaビルドを使用してopenCVを学ぼうとしています。 opencvのサンプルでは、メソッドのimshowがC++やshowImageのPythonであることがわかりましたが、opencv Java APIで検索しましたが、imshowメソッドが見つかりませんでした。opencv Javaビルドでのimshowの等価メソッド
Javaビルドでopencvのimshow()とwaitKey()と同等のメソッドは何ですか?
まだJavaハイギラッパーはありません(link)。画像を表示するには、swingまたはswtを使用する必要があります。参照:Opencv java - Load image to GUI
を使用すると、コードを実行しているを見てimages..have表示するにはJavaのスイングやAWTを使用する必要があります。そのシンプルな ジャワのOpenCVの等価http://projectimageprocessing.blogspot.in/2013/05/introduction.html
public static void showResult(Mat img) {
Imgproc.resize(img, img, new Size(640, 480));
MatOfByte matOfByte = new MatOfByte();
Highgui.imencode(".jpg", img, matOfByte);
byte[] byteArray = matOfByte.toArray();
BufferedImage bufImage = null;
try {
InputStream in = new ByteArrayInputStream(byteArray);
bufImage = ImageIO.read(in);
JFrame frame = new JFrame();
frame.getContentPane().add(new JLabel(new ImageIcon(bufImage)));
frame.pack();
frame.setVisible(true);
} catch (Exception e) {
e.printStackTrace();
}
}
3.0のJavaに 'HighGUI'モジュールがなくなりました。 –
これは、関数imshow(のための既製のソリューションです)使用する。 APIは次のようになります。
Imshow im = new Imshow( "Title");
im.showImage(matimage);
私はスイングとAWTで何かを作りました。
まず、imencode
とImageIo.read
MatOfByte mMatOfByte = new MatOfByte()
imencode(".png", img, mMatOfByte);
byte[] byteArray = mMatOfByte.toArray();
InputStream in = new ByteArrayInputStream(byteArray);
BufferedImage srcImage = ImageIO.read(in);
第によってマットIMGからBufferedImage
を取得し、(H、W)サイズの幅と高さを標的とし、ケースを拡張または減少させるクリーンな画像を取得するためにレンダリングヒントを使用するように変更。
bufImage = new BufferedImage(w, h, srcImage.getType());
Graphics2D g = bufImage.createGraphics();
g.setRenderingHint(RenderingHints.KEY_ANTIALIASING, RenderingHints.VALUE_ANTIALIAS_ON);
g.setRenderingHint(RenderingHints.KEY_INTERPOLATION, RenderingHints.VALUE_INTERPOLATION_BILINEAR);
g.drawImage(srcImage, 0,0, w, h, 0, 0, srcImage.getWidth(), srcImage.getHeight(), null);
私はJPanelののpaintComponent()
方法でターゲットbufImage
を使用。
waitKey()
については、KeyEventDispatcher
を使用しました。
の' Imgcodecs'をもう使用することができます。このリンクは質問に答えるかもしれませんが、ここで答えの重要な部分を含めて参考にしてください。リンクされたページが変更された場合、リンクのみの回答は無効になります。 - [レビューの投稿](レビュー/低品質の投稿/ 18294231) –
Tom Arandaさんのおかげです。私は自分のコンテンツを書き換えます。 –
これは大きな改善です。 :) –
お返事ありがとうございます、waitKeyメソッドはどうですか? thread.sleepと同じですか? – Orochi
あなたは実際にそれを必要としません... – ArtemStorozhuk
私は、ermm、もう一つのことを参照してください、あなたはどのようにウェブカメラを開始し、そこからライブフィードへのアクセスを知っていますか?私は、これまでのところ、私はWebカメラで自分の顔をキャプチャしてそれを検出することができます、今私がしたいのは私のwebcameraを開いて、それをキャプチャせずに私の顔を検出することです、それはこのようなものですhttp://www.youtube.com/watch?v = HTk_UwAYzVk – Orochi