Пример #1
0
 public void Stop(PtGreyCamera camera)
 {
     if (camera != null)
     {
         camera.Disconnect();
     }
 }
Пример #2
0
        public bool Connect()
        {
            bool result = false;

            try
            {
                system = new ManagedSystem();
                IList <IManagedCamera> camList = system.GetCameras();

                if (camList.Count != 2)
                {
                    int count = camList.Count;
                    foreach (IManagedCamera mc in camList)
                    {
                        mc.Dispose();
                    }

                    // Clear camera list before releasing system
                    camList.Clear();

                    // Release system
                    system.Dispose();
                    throw new Exception("2 cameras needed but found " + camList.Count);
                }
                for (int i = 0; i < camList.Count; i++)
                {
                    var cam = camList[i];
                    // Initialize camera
                    cam.Init();
                    // Retrieve GenICam nodemap
                    var  nodemap      = cam.GetNodeMap();
                    uint SerialNumber = Convert.ToUInt32(cam.DeviceSerialNumber);
                    if (SerialNumber == App.Settings.SideCameraSerialNum)
                    {
                        cameraSide = new PtGreyCamera(cam, CameraType.Side);
                    }
                    else
                    {
                        cameraTop = new PtGreyCamera(cam, CameraType.Top);
                    }
                }

                if (cameraSide != null && cameraTop != null)
                {
                    cameras.Add(cameraTop);
                    cameras.Add(cameraSide);
                    result = true;
                }
                else
                {
                    result = false;
                }
            }
            catch (Exception ex)
            {
                result = false;
                if (cameraTop != null)
                {
                    cameraTop.Disconnect();
                }
                if (cameraSide != null)
                {
                    cameraSide.Disconnect();
                }
            }
            return(result);
        }