1. 程式人生 > >C#實現CamLink控制E2V的CCD----呼叫採集卡SDK

C#實現CamLink控制E2V的CCD----呼叫採集卡SDK

首先分析一下埃科科技公司提供的採集卡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);