VisionPro 在C#项目程序中实现实时取像方式,有两种:
1.采用界面控件 CogAcqFifoTool 进行操作,与在VisionPro软件中操作一致;
2.采用界面控件 CogRecordDisplay 进行显示,通过Button 事件触发实时取像。
本文省略第一种方式,仅表述第二种方式。
输入显示控件名称,相机编号,代码如下:
using System.Windows.Forms;
using Cognex.VisionPro;
using Cognex.VisionPro.ToolBlock;
public CogFrameGrabbers mFrameGraber;
public ICogAcqFifo mCogAcqFifo = null;
///
/// 显示控件
/// 相机编号
public void VisionLive(CogRecordDisplay cogDisplay, int cameraN)
{
try
{
if (cogDisplay.LiveDisplayRunning)
{
//关闭光源
cogDisplay.StopLiveDisplay();
}
else
{
mFrameGraber = new Cognex.VisionPro.CogFrameGrabbers();
int CameraCounts = 1;//设置项目相机数量
if (mFrameGraber.Count < CameraCounts)
{
//throw new Exception("Failed to create the CogFrameGrabbers object.");
MessageBox.Show("在线相机数量异常,请检查相机连接!");
return;
}
//开启光源
mCogAcqFifo = mFrameGraber\[cameraN\].CreateAcqFifo(mFrameGraber\[cameraN\].AvailableVideoFormats\[0\],
CogAcqFifoPixelFormatConstants.Format8Grey, 0, true);
cogDisplay.StartLiveDisplay(mCogAcqFifo);
cogDisplay.AutoFit = true;
}
}
catch (Exception ex)
{
MessageBox.Show("相机实时显示失败!");
}
}
手机扫一扫
移动阅读更方便
你可能感兴趣的文章