JavaCV, захват видео с вебкамеры

Пример программы захвата видео с веб камеры с использованием библиотеки JavaCV.

JavaCV web camera

// подключение используемых в программе внешних пакетов
import com.googlecode.javacv.CanvasFrame;
import com.googlecode.javacv.FrameGrabber;
import com.googlecode.javacv.cpp.opencv_core.*;
import com.googlecode.javacv.OpenCVFrameGrabber;
import static com.googlecode.javacv.cpp.opencv_core.cvFlip;

//объявление нового класса
public class demo_video {
 //объявление нового метода
 public static void main(String[] args) {
  	 //Создаем canvas frame для отображения видео с веб камеры
     CanvasFrame canvas = new CanvasFrame("Webcam"); 
   
     //при нажатии на крестик, выходим и закрываем приложение
     canvas.setDefaultCloseOperation(javax.swing.JFrame.EXIT_ON_CLOSE);   
      
     //обьявляем захват видио с камеры
     FrameGrabber grabber = new OpenCVFrameGrabber("");  
      
      
     try {      
       
      //захват видео
      grabber.start();      
       
      //Dобьявляем переменную типа IplImage (картинка)
      IplImage img;
      //цикл
      while (true) {
        
       //сохраняем кадр
       img = grabber.grab();
        
       //устанавливаем размер холста в соответствии с размерами видеокадра
       canvas.setCanvasSize(grabber.getImageWidth(), grabber.getImageHeight()); 
        
       if (img != null) {      
         //разворачиваем кадр на 180
         cvFlip(img, img, 0);
        //показываем сохраненный кадр в CanvasFrame
        canvas.showImage(img);               
        }
       }
      }
     catch (Exception e) {      
     }
    }
}