CanvasFrame canvas = new CanvasFrame("Web Cam"); public GrabberShow() { canvas.setDefaultCloseOperation(javax.swing.JFrame.EXIT_ON_CLOSE); 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); canvas.showImage(img);
FFmpegFrameGrabber g = new FFmpegFrameGrabber("textures/video/anim.mp4"); g.start(); for (int i = 0 ; i < 50 ; i++) { ImageIO.write(g.grab().getBufferedImage(), "png", new File("frame-dump/video-frame-" + System.currentTimeMillis() + ".png")); } g.stop();
private OpenCVFrameGrabber buildGrabber() throws FrameGrabber.Exception { switch (OsUtils.getOS()) { case WIN: case OSX: return OpenCVFrameGrabber.createDefault(address); case NIX: return OpenCVFrameGrabber.createDefault(vfile); default: throw new UnsupportedOperationException("Current OS is not supported"); } }
@Override public BufferedImage getImage() { if (!open) { throw new WebcamException("Cannot grab image - webcam device is not open"); } Frame frame = null; try { frame = grabber.grab(); } catch (Exception e) { throw new WebcamException("OpenCV cannot grab image frame", e); } if (frame == null) { throw new WebcamException("OpenCV image frame is null"); } return new Java2DFrameConverter().convert(frame); }
IplImage toIplImage(BufferedImage bufImage) { ToIplImage iplConverter = new OpenCVFrameConverter.ToIplImage(); Java2DFrameConverter java2dConverter = new Java2DFrameConverter(); IplImage iplImage = iplConverter.convert(java2dConverter.convert(bufImage)); return iplImage; }
@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 setSettings(ProjectiveDevice.Settings settings) { super.setSettings(settings); if (settings instanceof ProjectiveDevice.CalibrationSettings) { this.settings = new CalibrationSettings((ProjectiveDevice.CalibrationSettings)settings); } else if (settings instanceof ProjectiveDevice.CalibratedSettings) { this.settings = new CalibratedSettings((ProjectiveDevice.CalibratedSettings)settings); } else { this.settings = new SettingsImplementation((ProjectiveDevice.Settings)settings); } if (this.settings.getName() == null || this.settings.getName().length() == 0) { this.settings.setName("Camera " + String.format("%2d", this.settings.getDeviceNumber())); } }
@Override public void setSettings(ProjectiveDevice.Settings settings) { super.setSettings(settings); if (settings instanceof ProjectiveDevice.CalibrationSettings) { this.settings = new CalibrationSettings((ProjectiveDevice.CalibrationSettings)settings); } else if (settings instanceof ProjectiveDevice.CalibratedSettings) { this.settings = new CalibratedSettings((ProjectiveDevice.CalibratedSettings)settings); } else { this.settings = new SettingsImplementation((ProjectiveDevice.Settings)settings); } if (this.settings.getName() == null || this.settings.getName().length() == 0) { this.settings.setName("Projector " + String.format("%2d", this.settings.getScreenNumber())); } }
public IplImage getMaskImage(boolean blocking) { context.acquireGLObject(maskCL[pyramidLevel]); mask[pyramidLevel] = context.readImage(getMaskImageCL(), mask[pyramidLevel], blocking); context.releaseGLObject(maskCL[pyramidLevel]); return mask[pyramidLevel]; }
@Override public void close() { if (!open) { return; } try { grabber.stop(); } catch (FrameGrabber.Exception e) { throw new WebcamException(e); } finally { dispose(); } }
/** * Create a calibrator with default settings. * * @param projectiveDevice */ public GeometricCalibratorP(ProjectiveDevice projectiveDevice) { // MarkerDetector.settings is not used super(new GeometricCalibrator.Settings(), new MarkerDetector.Settings(), null, projectiveDevice); }
private void release() { if (grabber != null) { try { grabber.release(); } catch (FrameGrabber.Exception e) { throw new WebcamException(e); } } }
public double get(int i) { if (i < getSizeForSurface()) { return surfaceParameters.get(i); } else { return projectorParameters.get(i-getSizeForSurface()); } } public void set(double ... p) {
@Override protected ParallelData[] initialValue() { ParallelData[] pd = new ParallelData[Parallel.getNumThreads()]; for (int i = 0; i < pd.length; i++) { pd[i] = new ParallelData(); } return pd; } };
@Override public void reset(boolean asIdentity) { super.reset(asIdentity); resetColor(asIdentity); } public void resetColor(boolean asIdentity) {
public static Marker[][] createArray(int rows, int columns, double sizeX, double sizeY, double spacingX, double spacingY, boolean checkered, double marginx, double marginy) { ArraySettings s = new ArraySettings(); s.rows = rows; s.columns = columns; s.sizeX = sizeX; s.sizeY = sizeY; s.spacingX = spacingX; s.spacingY = spacingY; s.checkered = checkered; return createArray(s, marginx, marginy); }
@Override public Parameters clone() { Parameters p = new Parameters(); p.surfaceParameters = surfaceParameters == null ? null : surfaceParameters.clone(); p.projectorParameters = projectorParameters.clone(); return p; }
public void addMarkers(Marker[] imageMarkers) { addMarkers(markedPlane.getMarkers(), imageMarkers); } public void addMarkers(Marker[] objectMarkers, Marker[] imageMarkers) {