KSJAPI SDK · 数据结构与枚举
设备类型、参数、功能、触发、色彩等全部枚举,以及 ROI 列表、条码结果等结构与回调类型。
本页汇总 KSJAPI 头文件中定义的结构体、枚举与回调类型;字段含义均取自头文件原注释。
枚举
KSJ_PARAM
相机参数类型(KSJ_SetParam / KSJ_GetParam 的第二参数)。
| 枚举值 | 值 | 说明 |
|---|---|---|
KSJ_EXPOSURE |
0 | 曝光时间(ms) |
KSJ_RED |
1 | 红色增益 |
KSJ_GREEN |
2 | 绿色增益 |
KSJ_BLUE |
3 | 蓝色增益 |
KSJ_GAMMA |
4 | Gamma |
KSJ_PREVIEW_COLUMNSTART |
5 | 预览起始列 |
KSJ_PREVIEW_ROWSTART |
6 | 预览起始行 |
KSJ_CAPTURE_COLUMNSTART |
7 | 采集起始列 |
KSJ_CAPTURE_ROWSTART |
8 | 采集起始行 |
KSJ_FLIP |
11 | 垂直翻转 |
KSJ_BIN |
12 | Binning |
KSJ_MIRROR |
13 | 水平镜像 |
KSJ_CONTRAST |
14 | 对比度 |
KSJ_BRIGHTNESS |
15 | 亮度 |
KSJ_EXPOSURE_LINES |
23 | 曝光行数 |
KSJ_SATURATION |
24 | 饱和度 |
KSJ_TRIGGERDELAY |
25 | 触发延时(步长 100μs) |
KSJ_TRIGGER_MODE |
27 | 触发模式 |
KSJ_TRIGGER_METHOD |
28 | 触发方式 |
KSJ_BLACKLEVEL |
29 | 黑电平 |
KSJ_ADDRESSMODE
抽点(Skip)模式,决定视场行列的抽点方式。
| 枚举值 | 值 | 说明 |
|---|---|---|
KSJ_SKIPNONE |
0 | 正常输出所有像素 |
KSJ_SKIP2 |
1 | 抽点 2:col0, col2, col4 … |
KSJ_SKIP3 |
2 | 抽点 3:col0, col3, col6 … |
KSJ_SKIP4 |
3 | 抽点 4:col0, col4, col8 … |
KSJ_SKIP8 |
4 | 抽点 8:col0, col8, col16 … |
KSJ_TRIGGERMODE
相机触发模式。
| 枚举值 | 值 | 说明 |
|---|---|---|
KSJ_TRIGGER_INTERNAL |
0 | 内触发(Free run):帧缓存空时自动采集 |
KSJ_TRIGGER_EXTERNAL |
1 | 外触发:收到外触发信号才采集,缓存未读走会丢帧 |
KSJ_TRIGGER_SOFTWARE |
2 | 软触发:执行 Capture 时触发采集并上传 |
KSJ_TRIGGER_FIXFRAMERATE |
3 | 固定帧率:以设定帧率自动采集 |
KSJ_TRIGGER_HIGHLOWFIXFRAMERATE |
4 | 高低电平固定帧率 |
KSJ_TRIGGER_ENCODER |
5 | 编码器模式(仅部分相机支持) |
KSJ_TRIGGERMETHOD
外触发信号条件。
| 枚举值 | 值 | 说明 |
|---|---|---|
KSJ_TRIGGER_RISINGEDGE |
0 | 上升沿 |
KSJ_TRIGGER_FALLINGEDGE |
1 | 下降沿 |
KSJ_TRIGGER_HIGHLEVEL |
2 | 高电平 |
KSJ_TRIGGER_LOWLEVEL |
3 | 低电平 |
KSJ_TRIGGERSTATUS
相机帧缓存状态。
| 枚举值 | 值 | 说明 |
|---|---|---|
KSJ_NO |
0 | 缓存为空 |
KSJ_HAVE |
1 | 缓存非空(有 1 个或多个图像可读) |
KSJ_ENCODERDIRECTION
编码器触发方向。
| 枚举值 | 值 | 说明 |
|---|---|---|
KSJ_ENCODER_FORWARD |
0 | 正向脉冲触发 |
KSJ_ENCODER_BACKWARD |
1 | 反向脉冲触发 |
KSJ_ENCODER_BOTH |
2 | 正反向脉冲都触发 |
KSJ_STARTENDMODE
相机开始结束采集工作控制模式。
| 枚举值 | 值 | 说明 |
|---|---|---|
KSJ_SEMODE_CONTINUE |
0 | 一直处于开始状态 |
KSJ_SEMODE_RISINGEDGE |
1 | 上升沿开始,采集固定帧数后停止 |
KSJ_SEMODE_FALLINGEDGE |
2 | 下降沿开始,采集固定帧数后停止 |
KSJ_SEMODE_HIGHLEVEL |
3 | 高电平有效 |
KSJ_SEMODE_LOWLEVEL |
4 | 低电平有效 |
KSJ_SEMODE_SOFTWARE |
5 | 软件控制开始结束 |
KSJ_GPIOIN_MODE
外触发输入引脚工作模式(仅 YYO 型号相机支持)。
| 枚举值 | 值 | 说明 |
|---|---|---|
KSJ_GPIOIN_EXTERNALTRIGGER |
0 | 作为外触发引脚(默认) |
KSJ_GPIOIN_NORMAL |
1 | 作为普通输入引脚 |
KSJ_GPIOOUT_MODE
闪光灯输出引脚工作模式。
| 枚举值 | 值 | 说明 |
|---|---|---|
KSJ_GPIOOUT_FLASH |
0 | 闪光灯模式 |
KSJ_GPIOOUT_NORMAL |
1 | 普通输出模式 |
KSJ_BAYERMODE
Raw 图转 RGB / 灰度的 Bayer 排列与输出格式(共 24 个值,含垂直镜像变体)。
| 枚举值 | 值 | 说明 |
|---|---|---|
KSJ_BGGR_BGR24 |
0 | BGGR 排列 → 24 位 BGR |
KSJ_GRBG_BGR24 |
1 | GRBG 排列 → 24 位 BGR |
KSJ_RGGB_BGR24 |
2 | RGGB 排列 → 24 位 BGR |
KSJ_GBRG_BGR24 |
3 | GBRG 排列 → 24 位 BGR |
KSJ_BGGR_BGR32 |
8 | BGGR 排列 → 32 位 BGR |
KSJ_RGGB_GRAY8 |
18 | RGGB 排列 → 8 位灰度 |
…(含 *_FLIP 垂直镜像变体) |
… | 以上模式均含末尾带 _FLIP 的垂直镜像版本 |
KSJ_FILTERMODE
Bayer 变换的插值滤波模式。
| 枚举值 | 值 | 说明 |
|---|---|---|
KSJ_NEARESTNEIGHBOR |
0 | 最邻近法 |
KSJ_BILINEAR |
1 | 双线性插值法 |
KSJ_SMOOTHHUE |
2 | 均匀色调转变内插法 |
KSJ_EDGESENSING |
3 | 边缘感应算法 |
KSJ_LAPLACIAN |
4 | 拉普拉斯插值法 |
KSJ_FASTBILINEAR |
5 | 快速双线性插值法 |
KSJ_WB_MODE
白平衡模式(分软件 SWB / 硬件 HWB 两类)。
| 枚举值 | 值 | 说明 |
|---|---|---|
KSJ_WB_DISABLE |
0 | 关闭白平衡 |
KSJ_SWB_PRESETTINGS |
1 | 软件预设白平衡 |
KSJ_SWB_AUTO_ONCE |
2 | 软件一次白平衡 |
KSJ_SWB_AUTO_CONITNUOUS |
3 | 软件连续白平衡 |
KSJ_SWB_MANUAL |
4 | 软件手动白平衡 |
KSJ_HWB_PRESETTINGS |
5 | 硬件预设白平衡 |
KSJ_HWB_AUTO_ONCE |
6 | 硬件一次白平衡 |
KSJ_HWB_AUTO_CONITNUOUS |
7 | 硬件连续白平衡 |
KSJ_HWB_MANUAL |
8 | 硬件手动白平衡 |
KSJ_COLOR_TEMPRATURE
色温预设。
| 枚举值 | 值 | 说明 |
|---|---|---|
KSJ_CT_5000K |
0 | 5000K |
KSJ_CT_6500K |
1 | 6500K |
KSJ_CT_2800K |
2 | 2800K |
KSJ_CCM_MODE
颜色校正矩阵(CCM)模式。
| 枚举值 | 值 | 说明 |
|---|---|---|
KSJ_CCM_DISABLE |
0 | 不进行颜色校正 |
KSJ_SCCM_PRESETTINGS |
1 | 软件预设值校正 |
KSJ_SCCM_MANUAL |
2 | 软件手工输入矩阵校正 |
KSJ_HCCM_PRESETTINGS |
3 | 硬件预设值校正 |
KSJ_HCCM_MANUAL |
4 | 硬件手工输入矩阵校正 |
KSJ_AE_STATUS
自动曝光运算返回状态(回调参数)。
| 枚举值 | 值 | 说明 |
|---|---|---|
KSJ_AE_ONCE_SUCCESS |
0 | 单次调节成功 |
KSJ_AE_ONCE_FAIL_MAX_COUNT |
1 | 单次调节失败(达到最大次数) |
KSJ_AE_ONCE_FAIL_WAVE |
2 | 单次调节失败(上下振动) |
KSJ_AE_ONCE_FAIL_OVER_RANGE |
3 | 单次调节失败(曝光超范围) |
KSJ_AE_DOING |
4 | 单次调节完成,已设置新曝光 |
KSJ_AE_CONTINUE_SUCCESS |
5 | 连续调节成功 |
KSJ_AE_CONTINUE_FAIL_WAVE |
6 | 连续调节失败(上下振动) |
KSJ_AE_CONTINUE_FAIL_OVER_RANGE |
7 | 连续调节失败(曝光超范围) |
KSJ_SENSITIVITYMODE
灵敏度模式(截取 8 位方式)。
| 枚举值 | 值 | 说明 |
|---|---|---|
KSJ_LOW |
0 | 截取有效位最低 8bit |
KSJ_MID |
1 | 截取有效位中低 8bit |
KSJ_HIGH |
2 | 截取有效位中间 8bit |
KSJ_HIGHER |
3 | 截取有效位中高 8bit |
KSJ_HIGHEST |
4 | 截取有效位最高 8bit |
KSJ_IMAGE_FORMAT
图像输出数据格式。
| 枚举值 | 值 | 说明 |
|---|---|---|
KSJ_IF_RAW8 |
0 | 原始 8 位 |
KSJ_IF_GRAY8 |
1 | 灰度 8 位 |
KSJ_IF_RGB24 |
2 | RGB 24 位 |
KSJ_IF_RGB32 |
3 | RGB 32 位 |
KSJ_IF_BGR24 |
4 | BGR 24 位 |
KSJ_IF_BGR32 |
5 | BGR 32 位 |
KSJ_IF_RAW16 |
6 | 原始 16 位 |
KSJ_IF_GRAY16 |
7 | 灰度 16 位 |
KSJ_IF_RGB48 / RGB64 / BGR48 / BGR64 |
8-11 | 48/64 位 RGB / BGR |
KSJ_USBSPEED
相机 USB 连接状态。
| 枚举值 | 值 | 说明 |
|---|---|---|
USB_NOT_CONNECTED |
0x00 | USB 通信失败 |
USB_FULL_SPEED |
0x01 | 全速 USB |
USB_HIGH_SPEED |
0x02 | 高速 USB |
USB_SUPER_SPEED |
0x03 | USB3.0 |
KSJ_MAPMODE
畸变校正目标值计算方式。
| 枚举值 | 值 | 说明 |
|---|---|---|
KSJ_MM_NEARESTNEIGHBOR |
0 | 最邻近插值法 |
KSJ_MM_BILINEAR |
1 | 双线性插值法 |
KSJ_EEPROM_TYPE
相机存储器芯片类型。
| 枚举值 | 值 | 说明 |
|---|---|---|
KSJ_24LC64 |
0 | 24LC64 |
KSJ_24LC1024 |
1 | 24LC1024 |
KSJ_24LC128 |
2 | 24LC128 |
KSJ_DEVICESTATUS
相机在当前进程中的开启/关闭状态。
| 枚举值 | 值 | 说明 |
|---|---|---|
KSJ_DS_CLOSE |
0 | 已关闭 |
KSJ_DS_OPEN |
1 | 已打开 |
KSJ_LANGUAGE
语言类型。
| 枚举值 | 值 | 说明 |
|---|---|---|
L_CHS |
0 | 中文 |
L_ENG |
1 | 英文 |
KSJ_FUNCTION
相机功能查询项(KSJ_QueryFunction 的第二参数,返回值 0 = 不支持,非 0 = 支持)。
| 枚举值 | 值 | 说明 |
|---|---|---|
KSJ_PROPERTY_MONO_DEVICE |
— | 是否黑白相机 |
KSJ_SUPPORT_TRIGGER_MODE_EXTERNAL |
— | 是否支持外触发 |
KSJ_SUPPORT_TRIGGER_MODE_SOFTWARE |
— | 是否支持软件触发 |
KSJ_SUPPORT_BINNING |
— | 是否支持 Binning |
KSJ_SUPPORT_MIRROR / KSJ_SUPPORT_FLIP |
— | 是否支持硬件水平翻转 / 垂直翻转 |
KSJ_SUPPORT_16BITS |
— | 是否支持双字节传输 |
KSJ_SUPPORT_LUT_DOWNLOAD |
— | 是否支持 LUT 下载到 FPGA |
KSJ_SUPPORT_BAD_PIXEL_CORRECTION |
— | 是否支持坏点校正 |
KSJ_SUPPORT_WATERMAK |
— | 是否支持水印功能 |
KSJ_SUPPORT_STREAM_MODE |
— | 是否支持流模式 |
KSJ_SUPPORT_GPIO_NORMAL |
— | 是否支持 GPIO 作普通 IO |
…(共 60+ 项,完整列表见KSJApiFunction.h) |
— |
结构体
MVD_ROI_SIZE
常用 ROI 数据结构。
| 类型 | 字段 | 说明 |
|---|---|---|
unsigned int |
uiColSize |
视场列像元数目 |
unsigned int |
uiRowSize |
视场行像元数目 |
KSJ_ADDRESSMODE |
ColAddressMode |
列像元提取模式 |
KSJ_ADDRESSMODE |
RowAddressMode |
行像元提取模式 |
MVD_ROI_SIZE_LIST
指定型号相机的常用 ROI 列表(KSJ_GetRoiSizeItems 输出)。
| 类型 | 字段 | 说明 |
|---|---|---|
unsigned int |
uiRoiSizeItemsNum |
ROI 项数量 |
MVD_ROI_SIZE*[16] |
pRoiSizeItem |
ROI 数据指针数组(宏 MAX_ROI_SIZE_TIEMS_NUM = 16) |
TCHAR*[16] |
pRoiSizeItemString |
ROI 描述字符串数组 |
BarcodeResult
单条条码识别结果。
| 类型 | 字段 | 说明 |
|---|---|---|
char* |
sczBarcode |
条码文字内容 |
int[4] |
x |
条码区域 4 个顶点的 X 坐标 |
int[4] |
y |
条码区域 4 个顶点的 Y 坐标 |
BarcodeResultArray
一次解码的全部条码结果(KSJBR_Decode 输出)。
| 类型 | 字段 | 说明 |
|---|---|---|
int |
resultsCount |
识别到的条码个数 |
BarcodeResult* |
results |
条码结果数组指针 |
USBCMD
内部 USB 控制命令结构(KSJ_VendorCmd,内部接口)。
| 类型 | 字段 | 说明 |
|---|---|---|
unsigned char |
bmRequest |
请求类型 |
unsigned char |
bRequest |
请求码 |
unsigned short |
wValue |
请求值 |
unsigned short |
wIndex |
索引 |
unsigned short |
wLength |
发送/接收数据长度 |
回调函数类型
所有回调均为 void(__stdcall*)(...) 形式。
| 回调类型 | 说明 | 参数 |
|---|---|---|
KSJ_PREVIEWCALLBACK |
预览回调 | (unsigned char* pImageData, int nWidth, int nHeight, int nBitCount, void* lpContext) |
KSJ_PREVIEWCALLBACKEX |
预览回调(含内存 DC) | (HDC hDC, unsigned char* pImageData, int nWidth, int nHeight, int nBitCount, void* lpContext) |
KSJ_AECALLBACKEX |
自动曝光回调 | (KSJ_AE_STATUS Status, int nExpsoureTimeMs, void* lpContext) |
KSJ_AECALLBACK |
自动曝光回调(旧) | (bool bSuccess, int nResult, void* lpContext) |
KSJ_WB_CALLBACK |
白平衡回调 | (float fMatrix[3], void* lpContext) |
KSJ_WB_CALLBACK_EX |
白平衡回调(分量形式) | (float fMatrixR, float fMatrixG, float fMatrixB, void* lpContext) |
兼容旧版本的枚举(
KSJ_THRESHOLD、KSJHueRange、KSJ_PREVIEWMODE、KSJ_WATERMARKMODE等)定义在KSJObsolete.h中,新代码请勿使用。
这份文档对您有帮助吗?
发现错误、表述不清或缺少内容?请告诉我们,我们会尽快补充。
您可以通过以下方式反馈: 发送邮件至 service@catchbest.com