相机快速选型:

当前您的位置是:首页>技术知识

凯视佳工业相机API编程入门指南一

时间:2017-02-20    作者:系统管理员

对于黑白相机的调用操作

最简单的采集操作

1. 首先初始化动态库,调用 KSJ_Init 函数。

2. 得到连接到主机的设备数目: int nDeviceNum = KSJ_DeviceGetCount();

3. 设置采集所需的视场(如果用户不设置,默认为最大幅面的视场,无抽点模式),如下

设置第 0 个采集设备的视场为 0012801024,无抽点模式:

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,nRedValue);来设置增益,注意对于黑白相机,随便选取

KSJ_RED KSJ_GREEN KSJ_BLUE 其中的一个进行调解即可,只要调解一个,其他的就

会跟着变化到同一个值。 通过调用 KSJ_SetParam(KSJ_EXPOSURE,nEValue);来设置曝光值。

6. 根据 nWidth,nHeight 分配内存

Unsigned char *pData = (unsigned char*)malloc( nWidth * nHeight );

7. 通过调用采集函数进行采集 KSJ_CaptureRawData (0,pData );对于黑白相机,不要调用

KSJ_CaptureRgbData

8. 如果想将此数据保存为 bmpjpg,请调用 KSJ_HelperSaveToBmp KSJ_HelperSaveToJpg

即可,注意 nBitCount 的值为 8

9. 最后要调用 KSJ_UnInit 函数反初始化动态库。

最简单的预览操作

首先初始化动态库,调用 KSJ_Init 函数。

1. 得到连接到主机的设备数目: int nDeviceNum = KSJ_DeviceGetCount();

2. 设置预览所需的视场(如果用户不设置,默认为最大幅面的视场,无抽点模式),如下

设置第 0 个采集设备的视场为 0012801024,无抽点模式:

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,nRedValue);来设置增益,注意对于黑白相机,随便选取

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 函数凡初始化动态库。

注意:开发包将视频预览和采集完全独立出来,这两部分可以分别运行也可以同时运行,

所以可以做到预览和采集的视场,抽点模式不同,更加符合应用的要求。


进入留言板