/// <summary> /// Creates a camera driver for Point Grey Research firefly/dragong fly cameras. /// </summary> public PGRFlyCapture() { flycapInfo = new PGRFlyModule.FlyCaptureInfo(); image = new PGRFlyModule.FlyCaptureImage(); flycapRGBImage = new PGRFlyModule.FlyCaptureImage(); }
/// <summary> /// Grabs /// </summary> /// <param name="camImage"></param> /// <returns></returns> public PGRFlyModule.FlyCaptureImage GrabRGBImage(IntPtr camImage) { int ret; ret = PGRFlyDllBridge.flycaptureGrabImage2(flycapContext, ref image); if (ret != 0) { //ReportError(ret, "flycaptureGrabImage2"); PGRFlyModule.FlyCaptureImage tmpImage = new PGRFlyModule.FlyCaptureImage(); tmpImage.pData = null; return tmpImage; } if (cameraModel == PGRFlyModule.FlyCaptureCameraModel.FLYCAPTURE_DRAGONFLY2) return image; else { // Convert the image. flycapRGBImage.pData = (byte*)camImage; flycapRGBImage.pixelFormat = PGRFlyModule.FlyCapturePixelFormat.FLYCAPTURE_BGR; ret = PGRFlyDllBridge.flycaptureConvertImage(flycapContext, ref image, ref flycapRGBImage); if (ret != 0) ReportError(ret, "flycaptureConvertImage"); return flycapRGBImage; } }