KSJAPI SDK · 图像处理与色彩

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

图像调整、Bayer 与滤波、白平衡/色温/CCM、自动曝光与自动白平衡、LUT 压扩与灵敏度、水印。

本组聚合 KSJApiImage.h、KSJApiBayer.h、KSJApiMatrix.h、KSJApi3A.h、KSJApiCompanding.h、KSJApiWaterMark.h。

部分图像处理(饱和度、锐化、色度等)由软件执行,可能影响采集效率与预览帧率。

函数一览

函数 说明
KSJ_ProcessSaturationGetRange 获取饱和度设置范围(-128~128)。
KSJ_ProcessSaturationGet 获取当前饱和度。
KSJ_GammaGetRange 获取 Gamma 设置范围(-9~9)。
KSJ_GammaGetValue 获取当前 Gamma 值。
KSJ_ProcessContrastGetRange 获取对比度设置范围(-128~128)。
KSJ_ProcessContrastGet 获取当前对比度。
KSJ_ProcessBrightnessGetRange 获取亮度设置范围(-128~128)。
KSJ_ProcessBrightnessGet 获取当前亮度。
KSJ_SharpenParamSet 设置图像锐化参数(软件执行,可能影响帧率)。
KSJ_SharpenParamGet 获取图像锐化参数。
KSJ_SharpenSetEnable 使能/关闭图像锐化。
KSJ_SharpenGetEnable 查询图像锐化是否使能。
KSJ_BadPixelCorrectionSetEnable 使能/关闭坏点校正。
KSJ_BadPixelCorrectionGetEnable 查询坏点校正是否使能。
KSJ_BayerGetDefaultMode 获取相机默认 Bayer 模式。
KSJ_BayerSetMode 设置 Raw 图转 RGB 图像的 Bayer 模式。
KSJ_BayerGetMode 获取当前 Bayer 模式。
KSJ_FilterSetMode 设置 Bayer 插值滤波模式。
KSJ_FilterGetMode 获取当前 Bayer 插值滤波模式。
KSJ_WhiteBalanceSet 设置白平衡模式(软件/硬件:关闭、预设、一次、连续、手动)。
KSJ_WhiteBalanceGet 获取当前白平衡模式。
KSJ_WhiteBalanceMatrixSet 手动设置白平衡校正矩阵。
KSJ_WhiteBalanceMatrixGet 获取白平衡校正矩阵。
KSJ_WhiteBalanceAutoSetCallBack 设置白平衡回调函数(优先级高于 Ex 版本)。
KSJ_WhiteBalanceAutoSetCallBackEx 设置白平衡回调函数(分量形式)。
KSJ_WhiteBalanceAutoSet 设置软件自动白平衡的参考阈值(仅软件白平衡时生效,默认 0)。
KSJ_WhiteBalanceAutoGet 获取自动白平衡阈值。
KSJ_WhiteBalancePresettingSet 选择白平衡预设色温组(5000K / 6500K / 2800K)。
KSJ_WhiteBalancePresettingGet 获取当前预设色温。
KSJ_ColorCorrectionSet 设置颜色校正(CCM)模式。
KSJ_ColorCorrectionGet 获取颜色校正模式。
KSJ_ColorCorrectionMatrixSet 手动设置颜色校正矩阵(3×3)。
KSJ_ColorCorrectionMatrixGet 获取颜色校正矩阵。
KSJ_ColorCorrectionPresettingSet 设置颜色校正预设色温组。
KSJ_ColorCorrectionPresettingGet 获取颜色校正预设色温组。
KSJ_AESetRegion 设置自动曝光的参考区域(相对预览图像的位置)。
KSJ_AEGetRegion 获取自动曝光参考区域及显示状态。
KSJ_AEShowRegion 设置预览时是否显示自动曝光参考区域。
KSJ_AESetPeakAveRatio 设置自动曝光峰值像素的统计比率(峰值像素以 (1+fRatio) 倍率参与统计)。
KSJ_AEGetPeakAveRatio 获取自动曝光峰值像素统计比率。
KSJ_AESetExposureTimeRange 设置自动曝光的调节范围(ms)。
KSJ_AEGetExposureTimeRange 获取自动曝光调节范围。
KSJ_AESetCallbackEx 设置自动曝光操作的回调函数(回调参数含 KSJ_AE_STATUS)。
KSJ_AESetMaxCount 设置自动曝光最大调节次数(设为 -1 表示连续运行)。
KSJ_AESetTarget 设置自动曝光目标亮度值。
KSJ_AEStartEx 启动/结束自动曝光操作。
KSJ_AEGetStatusEx 获取自动曝光的设置与运行状态。
KSJ_AEEnableAutoDigitalGainSet 设置自动曝光时是否自动调整数字增益(仅部分相机支持)。
KSJ_AEEnableAutoDigitalGainGet 获取自动曝光是否自动调整数字增益。
KSJ_AWBSetRegion 设置自动白平衡的参考区域(相对预览图像的位置)。
KSJ_AWBShowRegion 设置预览时是否显示自动白平衡参考区域。
KSJ_AWBGetRegion 获取自动白平衡参考区域及显示状态。
KSJ_LutFileDownload 以 ktb 文件形式下载 LUT 查找表至相机(16bit → 8bit)。
KSJ_LutDataDownload 下载用户自定义的 LUT 查找表数据(16bit → 8bit)。
KSJ_LutSetEnable 使能/关闭 LUT 查找表功能。
KSJ_LutGetEnable 查询 LUT 查找表是否使能。
KSJ_SensitivitySetMode 选择灵敏度(截位)模式:低 / 中低 / 中 / 中高 / 最高 8bit。
KSJ_SensitivityGetMode 获取当前截位模式。
KSJ_WaterMarkSetEnable 设置是否开启水印(水印信息直接叠加在图像数据开始部分)。
KSJ_WaterMarkGetEnable 获取水印功能是否开启。
KSJ_WaterMarkGetInfo 获取水印信息(水印号与时间戳)。
KSJ_WaterMarkGetInfoEx 获取水印信息(含曝光值与增益值,仅支持增强水印的相机)。
KSJ_IsSupportPreciseTimeStamp 查询相机是否支持精准水印时钟。
KSJ_GetSystemClock 获取系统时钟频率(MHz)。
KSJ_SyncDeviceTime 同步本地系统与相机时钟。
KSJ_DeviceTimeToSystemTime 将相机时钟计数转换成本地 PC 系统时间(Windows FILETIME)。

关键函数详解

KSJ_WhiteBalanceMatrixSet

int __stdcall KSJ_WhiteBalanceMatrixSet(int nIndex, float fMatrix[3]);

手动设置白平衡校正矩阵。

返回:成功返回 RET_SUCCESS(1)

说明

  • 计算式:Rw = fMatrix[0]×R,Gw = fMatrix[1]×G,Bw = fMatrix[1]×B;三分量取值范围 0-5。

KSJ_LutFileDownload

int __stdcall KSJ_LutFileDownload(int nIndex, const TCHAR* pszKtbFile);

以 ktb 文件形式下载 LUT 查找表至相机(16bit → 8bit)。

返回:成功返回 RET_SUCCESS(1)

说明

  • LUT 仅本次有效,相机断电后丢失;下载前用 KSJ_QueryFunction(KSJ_SUPPORT_LUT_DOWNLOAD) 确认支持。

KSJ_WaterMarkSetEnable

int __stdcall KSJ_WaterMarkSetEnable(int nIndex, bool bEnable);

设置是否开启水印(水印信息直接叠加在图像数据开始部分)。

返回:成功返回 RET_SUCCESS(1)

说明

  • 开启后 KSJ_WaterMarkGetInfo 才有效。

KSJ_WaterMarkGetInfo

int __stdcall KSJ_WaterMarkGetInfo(int nIndex, unsigned short* pwId, unsigned long* pdwTimestampLowPart, unsigned long* pdwTimestampHighPart);

获取水印信息(水印号与时间戳)。

返回:成功返回 RET_SUCCESS(1)

说明

  • 支持精准水印时钟时,时间戳为时钟计数;否则单位为微秒。