最近在學習basler相機的觸發方式和曝光時間的更改及多相機的連接,每天更新:
網口的相機和usb口的相機是不一樣的。
曝光時間
觸發信號的上升沿還是下降沿;
是否立即觸發模式打開:
採集模式:
曝光時間的設置:
一般地來說,初始化相機,
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”的情況下:
此時我通過關閉界面或者執行如下操作:
效果是絲毫沒有用,你只是關閉了相機,但是相機對象還是存在的:
出現如下問題:
但你再次連接相機時:
IP助手會顯示,當前的靜態IP正在被使用:
解決方法:在執行完所有的程序後,需要退出相機的採集界面:
就不會出現下次連接出現IP被佔用的情況了