• Dalsa 线扫相机采集


      之前使用同事遗留代码。代码里面gige相机用“SapAcqDevice”类,采集卡用“SapAcquisition” 。现在需要更改相机增益和曝光。通过组合提升拍摄适应性。然后,因为之前同事留的坑,并且dalsa自带的gui示例没有涉及相机增益和曝光设置。所以一直绕着“SapAcquisition”这个类搜索,只找到

        BOOL b = m_Acq->GetParameter(CORACQ_PRM_CONNECTOR_EXPOSURE_INPUT,&exposureTime);

      增益没找到“CORACQ_PRM”开头设置。只有最大最小值相关。相反,“SapAcqDevice” 设置曝光和增益很简单。只是前面先入为主,人为是gige用的类。后面问凌云,给出如下说明

      

      以及如下示例:

      

    // Allocate acquisition object

       SapAcquisition *pAcq = new SapAcquisition(SapLocation (“X64-CL_1”, 0), “FrameGrabber.ccf”);

    // Allocate acqDevice object 

       SapAcqDevice *pAcqDevice = new SapAcqDevice (SapLocation (“CameraLink_1”, 0), “CLCamera.ccf”);

       // Allocate buffer object, taking settings directly from the acquisition

       SapBuffer *pBuffer = new SapBuffer(2, pAcq);

       // Allocate view object, images will be displayed directly on the desktop

       SapView *pView = new SapView(pBuffer, SapHwndDesktop);

       // Allocate transfer object to link acquisition and buffer

       SapTransfer *pTransfer = new SapAcqToBuf(pAcq, pBuffer, XferCallback, pView);// 在该TrasferPair中pAcq代表该源pBuffer代表目的地;

       // Create resources for all objects

       BOOL success = pAcq->Create();

       success = pAcqDevice->Create();

       success = pBuffer->Create();

       success = pView->Create();

       success = pTransfer->Create();

      

       m_Acq->RegisterCallback(CORACQ_VAL_EVENT_TYPE_FRAME_LOST , frameLostCallback , NULL) ;

       m_Acq->RegisterCallback(CORACQ_VAL_EVENT_TYPE_EXTERNAL_TRIGGER , ExtTrigCallback , NULL) ;

       success = pAcq-> GetParameter(CORACQ_PRM_CROP_WIDTH , & imageWidth);

       success = pAcq-> GetParameter(CORACQ_PRM_CROP_HEIGHT  , & imageHeight );

       int paramValue ;

       success = pAcqDevice -> SetFeature(“ExposureTime”, & paramValue);

       // Start a continuous transfer (live grab)

       success = pTransfer->Grab();

       printf("Press any key to stop grab ");

       getch();

       // Stop the transfer and wait (timeout = 5 seconds)

       success = pTransfer->Freeze();

       success = pTransfer->Wait(5000);

       success = pTransfer->Abort();

       printf("Press any key to terminate ");

       getch();

       // Release resources for all objects

       success = pTransfer->Destroy();

       success = pView->Destroy();

       success = pBuffer->Destroy();

       success = pAcqDevice ->Destroy();

       success = pAcq->Destroy();

       // Free all objects

       delete pTransfer;

       delete pView;

       delete pBuffer;

       delete pAcqDevice;

       delete pAcq;

       return 0;

      俩个同时使用。一个是加载采集卡参数,一个是使用相机名称作为连接。上面的例子都要输入ccf。 采集的ccf来源都清楚。 相机的ccf如图示获得(左上角File-》另存为——》弹出的窗口选择保存文件名和保存路径):

      如果不想更改相机配置,使用以下构造函数

    SapAcqDevice(SapLocation location = SapLocation::ServerSystem, BOOL readOnly = FALSE);

      之类设置曝光(参数名“”)和明场(参数名,"")。

    double paramValue=200,gainValue =2;
    pAcqDevice -> SetFeature(“ExposureTime”, & paramValue);
    pAcqDevice -> SetFeature(“Gain”, & gainValue);
    //设置每个通道增益(以下代码来源版权声明:本文为CSDN博主「圆滚熊」的原创文章,  原文链接:https://blog.csdn.net/y459541195/article/details/100706850)

      m_AcqDevice->SetFeatureValue("GainSelector","DigitalAll");//设定总增益
      m_AcqDevice->SetFeatureValue("Gain", dlg2.m_edit_GainAll);
      m_AcqDevice->SetFeatureValue("GainSelector", "DigitalRed");//R通道增益
      m_AcqDevice->SetFeatureValue("Gain", dlg2.m_edit_GainRed);
      m_AcqDevice->SetFeatureValue("GainSelector", "DigitalGreen");//G通道增益
      m_AcqDevice->SetFeatureValue("Gain", (double)1.0);
      m_AcqDevice->SetFeatureValue("GainSelector", "DigitalBlue");//B通道增益
      m_AcqDevice->SetFeatureValue("Gain", dlg2.m_edit_GainBlue);

      ————————————————
      

  • 相关阅读:
    Pytorch-情感分类实战(基于LSTM,调用torchtext)
    Pytorch-LSTM
    Pytorch-时间序列预测
    Pytorch-RNN
    SQLServer -------- 包含(charindex)
    .NET ------ 树形菜单,点击单选按钮触发相应事件
    电子秤Xk3190-A12+E 称重方式的设置方法
    串口调试工具与com口编程
    .NET ------ Repeater 遍历数据显示在页面上
    .NET ------ 将弹窗内增加选项卡
  • 原文地址:https://www.cnblogs.com/PiaoLingJiLu/p/13396676.html
Copyright © 2020-2023  润新知