5

Java 言語、つまりライブ ビデオ ストリーミングを使用して、Web カメラでビデオをキャプチャできるプログラムを作成したいと考えています。このトピックに関するスレッドをいくつか見つけましたが、問題は、32 ビットおよび 64 ビットのオペレーティング システムでビデオをキャプチャする方法など、プログラムをオペレーティング システムに依存しないようにする方法です。

これを解決するために親切に助けてください、私はこの仕事に非常に短い時間しかありません。また、誰かがこのトピックへのリードを持っている場合は、そのリンクをここに投稿してください..ありがとう。

4

1 に答える 1

5
  1. j2se には Web カメラからビデオをキャプチャするために使用できるクラスがないため、同じことを行うには JMF や JavaCV などの外部ライブラリが必要です。

  2. JavaCV をインストールするには、次のリンクの手順を参照してください。

    を。ganeshtiwaridotcomdotnp.blogspot.inリンク

    b. code.google.comリンク

  3. カメラからリアルタイムでビデオをキャプチャするコード:

    import com.googlecode.javacv.CanvasFrame;
    import com.googlecode.javacv.FrameGrabber;
    import com.googlecode.javacv.VideoInputFrameGrabber;
    import com.googlecode.javacv.cpp.opencv_core.IplImage;
    import static com.googlecode.javacv.cpp.opencv_core.cvFlip;
    
    class GrabberShow implements Runnable 
    {    
       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); // 1 for next camera
           try {
               grabber.start();
               IplImage img;
               while (true) {
                   img = grabber.grab();
                   if (img != null) {
                       cvFlip(img, img, 1);// l-r = 90_degrees_steps_anti_clockwise
                       canvas.showImage(img);
                   }
               } 
           } catch (Exception e) {}
       }
    }
    
    public class Main 
    {
           public static void main(String[] args) 
           {
               GrabberShow gs = new GrabberShow();
               Thread th = new Thread(gs);
               th.start();
           }
    }
    

お役に立てれば。

于 2012-07-06T06:03:05.250 に答える