public void InitDevice(MyAcquisitionParams acqParams = null) { _acqParams = acqParams; if (acqParams == null) { string[] args = new string[0]; if (!ExampleUtils.GetOptions(args, acqParams)) { Console.WriteLine("\nPress any key to terminate\n"); Console.ReadKey(true); return; } } _loc = new SapLocation(acqParams.ServerName, acqParams.ResourceIndex); if (SapManager.GetResourceCount(acqParams.ServerName, SapManager.ResourceType.AcqDevice) > 0) { _acqDevice = new SapAcqDevice(_loc, acqParams.ConfigFileName); _buffers = new SapBufferWithTrash(2, _acqDevice, SapBuffer.MemoryType.ScatterGather); _transfer = new SapAcqDeviceToBuf(_acqDevice, _buffers); // Create acquisition object if (!_acqDevice.Create()) { Console.WriteLine("Error during SapAcqDevice creation!\n"); DestroysObjects(null, _acqDevice, _buffers, _transfer, _view); return; } } _transfer.Pairs[0].EventType = SapXferPair.XferEventType.EndOfFrame; _transfer.XferNotify += new SapXferNotifyHandler(xfer_XferNotify); _transfer.XferNotifyContext = _buffers; // Create buffer object if (!_buffers.Create()) { Console.WriteLine("Error during SapBuffer creation!\n"); DestroysObjects(null, _acqDevice, _buffers, _transfer, _view); return; } // Create buffer object if (!_transfer.Create()) { Console.WriteLine("Error during SapTransfer creation!\n"); DestroysObjects(null, _acqDevice, _buffers, _transfer, _view); return; } _transfer.Grab(); }
private void CAM_StartGrab()//抓取图像 { Xfer.Grab(); //m_camera.StartCapture();//待修改 m_grabImages = true; //相机正在抓取图像的标志 m_grabThread = new BackgroundWorker(); m_grabThread.ProgressChanged += new ProgressChangedEventHandler(UpdateUI); m_grabThread.DoWork += new DoWorkEventHandler(GrabLoop); m_grabThread.WorkerReportsProgress = true; m_grabThread.RunWorkerAsync(); }
public bool SaperaInterface_GrabContinue() { string Str = string.Empty; if (m_Xfer != null && m_Xfer.Initialized) { SeparaInterface_ResetFrameNum(); //重置缓存和帧计数 if (m_Xfer.Grabbing) { Logger.PopError(" SaperaCenter_Error_Grabing"); return(false); } if (!m_Xfer.Grab()) { Logger.PopError("SaperaCenter_Error_GrabFailed ,相机采图失败"); } return(true); } return(false); }