VisionPro二开之CT统计
// 开始时间DateTimestartTime=DateTime.Now;// ...TimeSpanDetectCT=DateTime.Now-startTime;Log.Info($"检测时间:{DetectCT.TotalMilliseconds}ms");取图耗时
/// <summary>/// 软触发/// </summary>publicvoidSnapImage(){try{// 获取采集状态// 如果值 > 0,表示有图像堆积,可能需调整采集速率或处理速度。// 当前 FIFO 中可立即读取的图像数量(已就绪的图像)。// 布尔值,表示 FIFO 是否正在处理采集请求 true 时需等待,避免重复触发m_AcFifo.GetFifoState(outvarnumPending,outvarnumReady,outvarbusy);if(numPending==0&&!busy){// 软触发:作用:向 FIFO 发送软触发信号,开始一次图像采集(相当于手动触发相机拍照)。m_AcFifo.StartAcquire();DateTimestartTime=DateTime.Now;// 等待采集完成,并返回采集到的图像ICogImagecogImage=m_AcFifo.CompleteAcquireEx(newCogAcqInfo());// 三 使用委托 变量grabGrayImage((CogImage8Grey)cogImage);TimeSpanDetectCT=DateTime.Now-startTime;Log.Info($"取图时间:{DetectCT.TotalMilliseconds}ms");// grabRGBImage((CogImage24PlanarColor)cogImage);}}catch(Exceptionex){MessageBox.Show($"采集异常,信息为:{ex.Message}");}}检测耗时
// 开始时间DateTimestartTime=DateTime.Now;// 3.调用算法模块Log.Info("算法开始");doublewidth=AlgorithmService.Instance.DetectWidth(info.Image);Log.Info("算法结束");// 4.把检测结果发送上位机或PLCif(width<300){CommunicateService.Instance.Send("NG");TimeSpanDetectCT=DateTime.Now-startTime;Log.Info($"检测时间:{DetectCT.TotalMilliseconds}ms");SaveNGImage("NG",info.Image);}else{CommunicateService.Instance.Send("OK");TimeSpanDetectCT=DateTime.Now-startTime;Log.Info($"检测时间:{DetectCT.TotalMilliseconds}ms");SaveOKImage("OK",info.Image);}