C#實現CamLink控制E2V的CCD----呼叫採集卡SDK
阿新 • • 發佈:2018-12-14
首先分析一下埃科科技公司提供的採集卡SDK,在C#支援上提供了兩個dll,IKapBoardClassLibrary.dll和IKapBoard.dll。 以下是偽碼: 呼叫兩個庫,第一個庫是C#庫,可以直接使用名稱空間,第二個是C++庫,所以要用DllImport引入IKapBoard.dll。
using IKapBoardClassLibrary; namespace 窗體練習 { public partial class Form1 : Form { [DllImport("IKapBoard.dll")] public static extern int IKapGetBoardCount(uint resourceType, ref uint resourceCount); }
庫函式實現:
//獲取採集卡數量 IKapBoard.IKapGetBoardCount((uint)BoardType.IKBoardPCIE, ref nPCIeDevCount); //打開採集卡 hDev = IKapBoard.IKapOpen((uint)BoardType.IKBoardPCIE, 0); //設定資訊 IKapBoard.IKapSetInfo(hDev, (uint)INFO_ID.IKP_IMAGE_TYPE, (int)ImageType.IKP_IMAGE_TYPE_VAL_MONOCHROME); //採集一幀 IKapBoard.IKapStartGrab(hDev, 1); //獲取資訊 IKapBoard.IKapGetInfo(hDev, (uint)INFO_ID.IKP_IMAGE_WIDTH, ref nImageWidth); //獲取快取區地址 IKapBoard.IKapGetBufferAddress(hDev, 0, ref pImageBuffer); //清理快取區 IKapBoard.IKapClearGrab(hDev);