VisionPro · C# · 实时取像

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;

/// <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("相机实时显示失败!");
    }

}

 

上一篇:VisionPro联合C#编程,康耐视cognex


下一篇:VisionPro · C# · 图像保存