KSJAPI SDK · 数据结构与枚举

版本 1.0 · 更新于 2026-10-21 · 阅读 0

设备类型、参数、功能、触发、色彩等全部枚举,以及 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 中,新代码请勿使用。