basler相机的关于触发模式的选择及更改

最近在学习basler相机的触发方式和曝光时间的更改及多相机的连接,每天更新:

basler相机的关于触发模式的选择及更改_第1张图片

网口的相机和usb口的相机是不一样的。

 

basler相机的关于触发模式的选择及更改_第2张图片

曝光时间

basler相机的关于触发模式的选择及更改_第3张图片

触发信号的上升沿还是下降沿;

basler相机的关于触发模式的选择及更改_第4张图片

是否立即触发模式打开:

basler相机的关于触发模式的选择及更改_第5张图片

采集模式:

basler相机的关于触发模式的选择及更改_第6张图片

basler相机的关于触发模式的选择及更改_第7张图片

basler相机的关于触发模式的选择及更改_第8张图片

曝光时间的设置:

 

basler相机的关于触发模式的选择及更改_第9张图片

 

一般地来说,初始化相机,

m_basler.Attach(CTlFactory::GetInstance().CreateDevice(cInfo));

建立出相机的对象就可以,这步是进行连接相机“Attach”,连接了之后可以获得相机的ID。

INodeMap &cameraNodeMap = m_basler.GetNodeMap();
    CEnumerationPtr  ptrTriggerSel = cameraNodeMap.GetNode("TriggerSelector");
    ptrTriggerSel->FromString("FrameStart");
    CEnumerationPtr  ptrTrigger = cameraNodeMap.GetNode("TriggerMode");
    ptrTrigger->SetIntValue(1);
    CEnumerationPtr  ptrTriggerAcqMode = cameraNodeMap.GetNode("AcquisitionMode");
    ptrTriggerAcqMode->FromString("Continuous");
    CEnumerationPtr  ptrTriggerSource = cameraNodeMap.GetNode("TriggerSource");
    ptrTriggerSource->FromString("Software");


    const CFloatPtr exposureTime = cameraNodeMap.GetNode("ExposureTime");
    exposureTime->SetValue(10000);

    关于basler的sdk使用,可以看下:https://www.cnblogs.com/andyanut/p/9149067.html

 

 

另外,最近新发现的问题,basler的网口相机在执行外触发模式也就是“Line1”的情况下:

此时我通过关闭界面或者执行如下操作:

basler相机的关于触发模式的选择及更改_第10张图片

效果是丝毫没有用,你只是关闭了相机,但是相机对象还是存在的:

出现如下问题:

但你再次连接相机时:

basler相机的关于触发模式的选择及更改_第11张图片

IP助手会显示,当前的静态IP正在被使用:

 

解决方法:在执行完所有的程序后,需要退出相机的采集界面:

basler相机的关于触发模式的选择及更改_第12张图片

就不会出现下次连接出现IP被占用的情况了

 

你可能感兴趣的:(basler,QT)