相机快速选型:
最简单的采集操作
1. 首先初始化动态库,调用 KSJ_Init 函数。
2. 得到连接到主机的设备数目: int nDeviceNum = KSJ_DeviceGetCount();
3. 设置采集所需的视场(如果用户不设置,默认为最大幅面的视场,无抽点模式),如下
设置第 0 个采集设备的视场为 0, 0, 1280, 1024,无抽点模式:
KSJ_CaptureSetFieldOfView(0,0,0,1280,1024, KSJ_SKIPNONE, KSJ_SKIPNONE);
4. 通过 KSJ_CaptureGetSize 函数得到要采集图像的宽度和高度(像素为单位):
Int nWidth, nHeight;
KSJ_CaptureGetSize( 0, &nWidth, &nHeight );
5. 通过调用 KSJ_SetParam 来设置 KSJ_RED,KSJ_GREEN,KSJ_BLUE 色彩增益。通过调用
KSJ_SetParam(KSJ_EXPOSURE,nEValue);来设置曝光值。
6. 根据 nWidth,nHeight 分配内存
Unsigned char *pData = (unsigned char*)malloc( nWidth * nHeight * 3 );
7. 通过调用采集函数 KSJ_CaptureRgbData (0,pData );进行采集 24 位彩色图像 。
8. 如果想将此数据保存为 bmp, jpg,请调用 KSJ_HelperSaveToBmp 或 KSJ_HelperSaveToJpg
即可,注意 nBitCount 的值为 24。
9. 最后要调用 KSJ_UnInit 函数反初始化动态库。
最简单的预览操作
首先初始化动态库,调用 KSJ_Init 函数。
1. 得到连接到主机的设备数目: int nDeviceNum = KSJ_DeviceGetCount();
2. 设置预览所需的视场(如果用户不设置,默认为最大幅面的视场,无抽点模式),如下
设置第 0 个采集设备的视场为 0, 0, 1280, 1024,无抽点模式:
KSJ_PreviewSetFieldOfView(0,0,0,1280,1024, KSJ_SKIPNONE, KSJ_SKIPNONE);
3. 通过 KSJ_PreviewGetSize 函数得到要预览图像的宽度和高度(像素为单位):
Int nWidth, nHeight;
KSJ_PreviewGetSize( 0, &nWidth, &nHeight );
4. 调用 KSJ_PreviewSetPos 设置要预览的图像显示在哪个窗口及此窗口的位置。
5. 调用 KSJ_PreviewStart ( 0,true );开始打开视频流。
6. 通过调用 KSJ_SetParam 来设置 KSJ_RED,KSJ_GREEN,KSJ_BLUE 色彩增益。通过调用
KSJ_SetParam(KSJ_EXPOSURE,nEValue);来设置曝光值。
7. 通 过 调 用 KSJ_PreviewPause(0,true); 来 暂 停 预 览 。 暂 停 成 功 后 可 以 通 过
KSJ_PreviewGetPausedData ( 0, pData );函数来得到暂停时的那一帧图像,调用前请分配图
像的内存,所需内存大小可随时通过调用 KSJ_PreviewGetSize 来获得,获得的数据可通
过调用 KSJ_HelperSaveToBmp 或 KSJ_HelperSaveToJpg 函数保存为 BMP 或 JPG 文件。然后
通 过 调 用 KSJ_PreviewPause(0,false); 来 继 续 视 频 流 , 最 后 通 过 调 用
KSJ_PreviewStart(0,false);来关闭视频流。
8. 最后要调用 KSJ_UnInit 函数凡初始化动态库。
注意:开发包将视频预览和采集完全独立出来,这两部分可以分别运行也可以同时运行,
所以可以做到预览和采集的视场,抽点模式不同,更加符合应用的要求。