VisionPro · C# · 实时取像
阅读原文时间:2023年07月09日阅读:9

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

}

手机扫一扫

移动阅读更方便

阿里云服务器
腾讯云服务器
七牛云服务器

你可能感兴趣的文章