/// <summary> /// Attempt to connect to camera /// </summary> /// <returns>True if connection is successful</returns> public bool Initialize() { ManagedBusManager busMgr = new ManagedBusManager(); try { ManagedPGRGuid guid = busMgr.GetCameraFromSerialNumber(this.serial); this.camera.Connect(guid); GigEImageSettings config = this.camera.GetGigEImageSettings(); config.height = this.PixelHeight; config.width = this.PixelWidth; config.offsetX = (2448 - this.PixelWidth) / 2; config.offsetY = (2048 - this.PixelHeight) / 2; this.camera.SetGigEImageSettings(config); } catch (Exception ex) { // Connection unsuccessful Logger.Out(ex.ToString()); this.Connected = false; return(false); } // Set embedded timestamp to on EmbeddedImageInfo embeddedInfo = this.camera.GetEmbeddedImageInfo(); embeddedInfo.timestamp.onOff = true; this.camera.SetEmbeddedImageInfo(embeddedInfo); // Start live capture this.Connected = true; this.Start(); return(true); }
/// <summary> /// Open dialog box for setting camera properties /// </summary> public void ShowPropertiesDlg() { CameraControlDialog camCtlDlg = new CameraControlDialog(); camCtlDlg.Connect(this.camera); camCtlDlg.ShowModal(); GigEImageSettings config = this.camera.GetGigEImageSettings(); this.PixelWidth = config.width; this.PixelHeight = config.height; }
void RunSingleCamera(ManagedPGRGuid guid) { const int k_numImages = 10; ManagedGigECamera cam = new ManagedGigECamera(); // Connect to a camera cam.Connect(guid); // Get the camera information CameraInfo camInfo = cam.GetCameraInfo(); PrintCameraInfo(camInfo); uint numStreamChannels = cam.GetNumStreamChannels(); for (uint i=0; i < numStreamChannels; i++) { PrintStreamChannelInfo(cam.GetGigEStreamChannelInfo(i)); } GigEImageSettingsInfo imageSettingsInfo = cam.GetGigEImageSettingsInfo(); GigEImageSettings imageSettings = new GigEImageSettings(); imageSettings.offsetX = 0; imageSettings.offsetY = 0; imageSettings.height = imageSettingsInfo.maxHeight; imageSettings.width = imageSettingsInfo.maxWidth; imageSettings.pixelFormat = PixelFormat.PixelFormatMono8; cam.SetGigEImageSettings(imageSettings); // Get embedded image info from camera EmbeddedImageInfo embeddedInfo = cam.GetEmbeddedImageInfo(); // Enable timestamp collection if (embeddedInfo.timestamp.available == true) { embeddedInfo.timestamp.onOff = true; } // Set embedded image info to camera cam.SetEmbeddedImageInfo(embeddedInfo); // Start capturing images cam.StartCapture(); ManagedImage rawImage = new ManagedImage(); for (int imageCnt = 0; imageCnt < k_numImages; imageCnt++) { // Retrieve an image cam.RetrieveBuffer(rawImage); // Get the timestamp TimeStamp timeStamp = rawImage.timeStamp; Console.WriteLine( "Grabbed image {0} - {1} {2} {3}", imageCnt, timeStamp.cycleSeconds, timeStamp.cycleCount, timeStamp.cycleOffset); // Create a converted image ManagedImage convertedImage = new ManagedImage(); // Convert the raw image rawImage.Convert(PixelFormat.PixelFormatBgr, convertedImage); // Create a unique filename string filename = String.Format( "GigEGrabEx_CSharp-{0}-{1}.bmp", camInfo.serialNumber, imageCnt); // Get the Bitmap object. Bitmaps are only valid if the // pixel format of the ManagedImage is RGB or RGBU. System.Drawing.Bitmap bitmap = convertedImage.bitmap; // Save the image bitmap.Save(filename); } // Stop capturing images cam.StopCapture(); // Disconnect the camera cam.Disconnect(); }
void RunSingleCamera(ManagedPGRGuid guid) { const int k_numImages = 10; ManagedGigECamera cam = new ManagedGigECamera(); // Connect to a camera cam.Connect(guid); // Get the camera information CameraInfo camInfo = cam.GetCameraInfo(); PrintCameraInfo(camInfo); uint numStreamChannels = cam.GetNumStreamChannels(); for (uint i = 0; i < numStreamChannels; i++) { PrintStreamChannelInfo(cam.GetGigEStreamChannelInfo(i)); } GigEImageSettingsInfo imageSettingsInfo = cam.GetGigEImageSettingsInfo(); GigEImageSettings imageSettings = new GigEImageSettings(); imageSettings.offsetX = 0; imageSettings.offsetY = 0; imageSettings.height = imageSettingsInfo.maxHeight; imageSettings.width = imageSettingsInfo.maxWidth; imageSettings.pixelFormat = PixelFormat.PixelFormatMono8; cam.SetGigEImageSettings(imageSettings); // Get embedded image info from camera EmbeddedImageInfo embeddedInfo = cam.GetEmbeddedImageInfo(); // Enable timestamp collection if (embeddedInfo.timestamp.available == true) { embeddedInfo.timestamp.onOff = true; } // Set embedded image info to camera cam.SetEmbeddedImageInfo(embeddedInfo); // Start capturing images cam.StartCapture(); ManagedImage rawImage = new ManagedImage(); for (int imageCnt = 0; imageCnt < k_numImages; imageCnt++) { // Retrieve an image cam.RetrieveBuffer(rawImage); // Get the timestamp TimeStamp timeStamp = rawImage.timeStamp; Console.WriteLine( "Grabbed image {0} - {1} {2} {3}", imageCnt, timeStamp.cycleSeconds, timeStamp.cycleCount, timeStamp.cycleOffset); // Create a converted image ManagedImage convertedImage = new ManagedImage(); // Convert the raw image rawImage.Convert(PixelFormat.PixelFormatBgr, convertedImage); // Create a unique filename string filename = String.Format( "GigEGrabEx_CSharp-{0}-{1}.bmp", camInfo.serialNumber, imageCnt); // Get the Bitmap object. Bitmaps are only valid if the // pixel format of the ManagedImage is RGB or RGBU. System.Drawing.Bitmap bitmap = convertedImage.bitmap; // Save the image bitmap.Save(filename); } // Stop capturing images cam.StopCapture(); // Disconnect the camera cam.Disconnect(); }