VisionPro 在C#项目程序中实现实时取像方式,有两种:
1.在界面中添加CogAcqFifoTool控件,程序上对控件属性赋值,最终运行起来与在VisionPro软件中操作一致;
2.在界面中添加 CogRecordDisplay 控件,通过程序实现相机连接,实时取像并显示到CogRecordDisplay 控件上。
输入显示控件名称,相机编号,示例代码如下:
using System.Windows.Forms;
using Cognex.VisionPro;
using Cognex.VisionPro.ToolBlock;
public CogFrameGrabbers mFrameGraber;
public ICogAcqFifo mCogAcqFifo = null;
/// <summary>
/// 实时显示
/// </summary>
/// <param name="cogDisplay">显示控件</param>
/// <param name="cameraN">相机编号</param>
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("相机实时显示失败!");
}
}
相互学习,共同富裕。