通过cognex-supported frame grabber.
Frame Grabbers,即图像采集卡。
一、上面是图像采集卡,及其功能


图像采集卡主要用于捕获视频信号中的特定帧图像,并将其转换为数字信号以便计算机进行处理和存储。它可以从各种视频源获取图像,如摄像机、录像机、医疗影像设备等。
图像采集:能够实时采集视频流中的图像帧,确保图像的准确性和完整性。
格式转换:将不同格式的视频信号转换为计算机可识别的数字格式,如 RGB、YUV 等。
图像存储:可以将采集到的图像存储在计算机的内存或硬盘中,以便后续分析和处理。
触发功能:支持外部触发信号,可根据特定事件或条件进行图像采集,提高采集的准确性和效率。

二、康耐视图像采集
获取一个 CogFrameGrabberGigEs 对象。这个对象是单个图像采集卡对象的集合,每个对象都可以通过一个 ICogFrameGrabber 接口进行访问。
每个 ICogFrameGrabber 代表一个连接到你的计算机系统的千兆以太网视觉相机

第一步,获取相机

//新建取像卡对象
CogFrameGrabberGigEs cameras = new CogFrameGrabberGigEs();
//获取相机对象
ICogFrameGrabber camera = cameras[0];
//显示相机名称
System.Diagnostics.Debug.WriteLine(camera.Name);

第二步,初始化相机取像
用于控制采集FIFO的的接口(ICogAcqFifo),每个采集Fifo都有其附加属性
如 Cognex.VisionPro.ICogAcqBrightness,
Cognex.VisionPro.ICogAcqContrast,
Cognex.VisionPro.ICogAcqExposure 以接口的形式实现。
访问方法如( ICogAcqBrightness C1Bright= camera.OwnedBrightnessParams;)

//定义Fifo取像
public ICogAcqFifo myCogAcqFifo { get; set; } = null;
//初始化取像
myCogAcqFifo = camera.CreateAcqFifo(camera.AvailableVideoFormats[index], pf, port, autoPrepare);
// camera.AvailableVideoFormats[index] 可用的相机视频格式
// Fifo 像素格式   Format8Grey,Format16Grey,Format565RGB,Format32RGB,Format3Plane
// Port 相机Port口
// bool autoPrepare true:自动设置参数,false:手动指定


/// <summary>
/// 设置相机采集亮度
/// </summary>
/// <param name="Brightness"></param>
/// <returns></returns>
public bool SetAcqBrightness(double Brightness)
{
    try
    {
        ICogAcqBrightness brn = myPCogAcqFifo.OwnedBrightnessParams;
        if (brn != null)
        {
            brn.Brightness = Brightness;
            WPCogAcqFifo.Prepare();
            return true;
        }
        else
            return false;
    }
    catch (Exception ex)
    {
        Console.WriteLine(ex);
        return false;
    }
}