3

人の画像をキャプチャし、その画像をフォームに表示したいフォームがあります。

Java を介して Web カメラに接続し、その画像をフォームに表示するにはどうすればよいですか?

4

3 に答える 3

4

JavaCVを使用して画像をキャプチャできます。

このコードはあなたを始めるはずです(ここから取られます):

import com.googlecode.javacv.CanvasFrame;
import com.googlecode.javacv.FrameGrabber;
import com.googlecode.javacv.VideoInputFrameGrabber;
import com.googlecode.javacv.cpp.opencv_core.IplImage;
public class GrabberShow implements Runnable {
    //final int INTERVAL=1000;///you may use interval
    IplImage image;
    CanvasFrame canvas = new CanvasFrame("Web Cam");
    public GrabberShow() {
        canvas.setDefaultCloseOperation(javax.swing.JFrame.EXIT_ON_CLOSE);
    }
    @Override
    public void run() {
        FrameGrabber grabber = new VideoInputFrameGrabber(0); 
        int i=0;
        try {
            grabber.start();
            IplImage img;
            while (true) {
                img = grabber.grab();
                if (img != null) {
                    cvFlip(img, img, 1);// l-r = 90_degrees_steps_anti_clockwise
                    cvSaveImage((i++)+"-capture.jpg", img);
                    // show image on window
                    canvas.showImage(img);
                }
                 //Thread.sleep(INTERVAL);
            }
        } catch (Exception e) {
        }
    }
}

もう1つの方法は、Java Media Framework(JMF)を使用することです。ここに例があります。

于 2012-05-22T06:13:06.317 に答える
2

Webcam Captureプロジェクトを使用してそれを行うことができます。Windows XP、Vista、7、Linux、Mac OS、Raspberry Pi などで動作します。ウェブカメラから画像を表示するために使用できる JPanel を拡張する、すぐに使用できる Swing コンポーネントがあります。これを行う方法の詳細については、この例を見つけてください。このコンポーネントの高度な機能を示していますが、基本的な使用法は次のとおりです。

JFrame window = new JFrame("Test webcam panel");
window.add(new WebcamPanel(Webcam.getDefault()));
window.pack();
window.setVisible(true);
window.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

このコードを実行すると、内部に Web カメラからの画像を含む JFrame が表示されます。

于 2013-02-07T06:23:35.753 に答える
0
Webcam.setAutoOpenMode(true);
BufferedImage image = Webcam.getDefault().getImage();
ImageIO.write(image, "PNG", new File("F:/test.png"));

https://github.com/sarxos/webcam-captureから最新バージョンをダウンロードできます

zipファイルに含まれる他のライブラリファイルを追加します

于 2013-07-26T07:25:03.497 に答える