VisionPro与C# 实时取像

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

}

相互学习,共同富裕。

猜你喜欢

转载自blog.csdn.net/m0_62778855/article/details/125999415
今日推荐