@Override public void open() { if (open || disposed) { return; } try { final Dimension resolution = getResolution(); grabber = buildGrabber(); grabber.setImageWidth(resolution.width); grabber.setImageHeight(resolution.height); grabber.start(); open = true; } catch (FrameGrabber.Exception e) { release(); throw new WebcamException(e); } }
@Override public void start() { OpenCVFrameGrabber grabberCV = new OpenCVFrameGrabber(this.systemNumber); grabberCV.setImageWidth(width()); grabberCV.setImageHeight(height()); grabberCV.setFrameRate(frameRate); grabberCV.setImageMode(FrameGrabber.ImageMode.COLOR); try { grabberCV.start(); this.grabber = grabberCV; this.isConnected = true; } catch (Exception e) { System.err.println("Could not start frameGrabber... " + e); System.err.println("Could not camera start frameGrabber... " + e); System.err.println("Camera ID " + this.systemNumber + " could not start."); System.err.println("Check cable connection, ID and resolution asked."); this.grabber = null; } }
@Override public <T extends ImageBase<T>> SimpleImageSequence<T> open(String device, int width, int height, ImageType<T> imageType) { OpenCVFrameGrabber grabber = null; if( device != null ) { try { int which = Integer.parseInt(device); grabber = new OpenCVFrameGrabber(which); }catch (NumberFormatException ignore) { grabber = new OpenCVFrameGrabber(0); } if( grabber == null ) { throw new RuntimeException("Can't find webcam with ID or name at "+device); } } else { grabber = new OpenCVFrameGrabber(0); } grabber.setImageWidth(width); grabber.setImageHeight(height); return new SimpleSequence<>(grabber, imageType); }
grabber.setImageHeight(frameHeight); grabber.start(); while (running)