机器视觉之eVision
比利時 EURESYS 公司的 eVision 圖像類的類庫 EasyMultiCam 庫,它提供了一個有效的和易于使用的硬件抽象層,因此可以作為圖像采集卡的高級驅動動序,可以同時為多個 CCD 影像提供不同的傳輸通道,并且他們之間的信道互不影響。
MultiCam 作為所有 Euresys 采集卡的編程接口,為了方便編程人員的工作,它將"信道"相關的參數寫入 CAM 文件里,通過調用 CAM 文件即可完成參數設置。整個視頻圖像的采集主要包括三個部分:初始化信道、打開信道、關閉信道。
一:初始化信道
首先我們要創建兩個信道:
Euresys::MultiCam::Channel* channelWith1;
Euresys::MultiCam::Channel* channelWith2;
設置相關通道參數:
#define MC_CamFile (MCPARAMID)
#define camFile -1
channelWith1 ->SetParam(MC_CamFile, camFile);
channelWith2 ->SetParam(MC_CamFile, camFile);
然后注冊回調函數
channel->RegisterCallback();
二:打開信道
打開信道之前,首先做一個判斷,是選擇的信道 1 還是信道 2,然后發送命令并激活信道。
switch (currentChannel)
{
case CHANNEL_1:
channelWith1->SetActive();//打開信道 1
break;
case CHANNEL_2:
channelWith2->SetActive();//打開信道 2
break;
default:
break;
}
三:關閉信道
關閉信道,可以用函數 SetIdle(),通過選擇來關閉當前的通道。
switch (currentChannel)
{
case CHANNEL_WITH_1:
channelWith1->SetIdle(); //關閉信道 1
break;
case CHANNEL_WITH_2:
channelWith2->SetIdle(); //關閉信道 2
break;
}
總結
以上是生活随笔為你收集整理的机器视觉之eVision的全部內容,希望文章能夠幫你解決所遇到的問題。