javaでopencvを使ってwebカメラを使いたいんですが
うまく使えないのでアドバイスがほしい。
下記のloop()メソッドを他のクラス(class Main)から呼び出した場合に
カメラの表示をしたまま、同時に他のメソッドも動かしたいのですが
方法はありますか?
public void loop() {
CanvasFrame canvas = new CanvasFrame("Webcam");
canvas.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
// デフォルト(0)のWebカメラを使う OpenCVFrameGrabber grabber = new OpenCVFrameGrabber(2); try { grabber.start(); // フレームレートを取得 double frameRate = grabber.getFrameRate(); long wait = (long) (1000 / (frameRate == 0 ? 10 : frameRate)); // 画像を取りつづける while (true) { Thread.sleep(wait); IplImage image = grabber.grab(); // 取ってきた画像を画面に表示 if (image != null) { canvas.showImage(image); } } // 何かあったらエラーを吐いて終わる } catch (Exception e) { e.printStackTrace(); }
}
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。