KSJXS SDK · 参数设置
曝光、增益、激光光条阈值与宽度、多峰模式、亮度图阈值、参数存取、激光器、X/Y 向分辨率。
本组对应头文件 @defgroup Param(含 DataTrigger 组中的激光器与分辨率接口)。
获取范围类接口(*Range)建议在设置前先查询,避免越界导致 KSJXS_RET_PARAMERROR。
KSJXS_GetExposureTimeRange
int KSJXS_GetExposureTimeRange(IN void* handle, float* pfExpTimeMSMin, float* pfExpTimeMSMax)
获取曝光可设置范围。
| 参数 | 方向 | 说明 |
|---|---|---|
pfExpTimeMSMin |
out | 最小曝光值,单位:ms |
pfExpTimeMSMax |
out | 最大曝光值,单位:ms |
返回:成功返回 KSJXS_RET_SUCCESS;失败返回错误码
KSJXS_SetExposureTime
int KSJXS_SetExposureTime(IN void* handle, float fExpTimeMS)
设置曝光值。
| 参数 | 方向 | 说明 |
|---|---|---|
fExpTimeMS |
in | 曝光值,单位:ms |
返回:成功返回 KSJXS_RET_SUCCESS
说明
- 曝光是感光元件开始感光到快门关闭的时间。曝光越大图像越亮,但采集时间变长、帧率下降。
KSJXS_GetExposureTime
int KSJXS_GetExposureTime(IN void* handle, float* pfExpTimeMS)
获取当前曝光值。
| 参数 | 方向 | 说明 |
|---|---|---|
pfExpTimeMS |
out | 当前曝光值,单位:ms |
返回:成功返回 KSJXS_RET_SUCCESS;失败返回错误码
KSJXS_GetGainRange
int KSJXS_GetGainRange(IN void* handle, int* pnGainMin, int* pnGainMax)
获取增益可设置范围。
| 参数 | 方向 | 说明 |
|---|---|---|
pnGainMin |
out | 最小增益值 |
pnGainMax |
out | 最大增益值 |
返回:成功返回 KSJXS_RET_SUCCESS;失败返回错误码
KSJXS_SetGain
int KSJXS_SetGain(IN void* handle, int nGain)
设置设备增益。
| 参数 | 方向 | 说明 |
|---|---|---|
nGain |
in | 增益值 |
返回:成功返回 KSJXS_RET_SUCCESS
说明
- 对感光信号放大:增益越大图像越亮,但噪声同步放大,不宜设置过高。
KSJXS_GetGain
int KSJXS_GetGain(IN void* handle, int* pnGain)
获取当前增益。
| 参数 | 方向 | 说明 |
|---|---|---|
pnGain |
out | 当前增益值 |
返回:成功返回 KSJXS_RET_SUCCESS;失败返回错误码
KSJXS_Set3DLaserLineBrightnessThreshold
int KSJXS_Set3DLaserLineBrightnessThreshold(IN void* handle, int nThreshold)
设置激光光条的灰度阈值。
| 参数 | 方向 | 说明 |
|---|---|---|
nThreshold |
in | 灰度阈值,范围 0~255 |
返回:成功返回 KSJXS_RET_SUCCESS
说明
- 原始图像上灰度大于阈值的点才参与点云计算;阈值越大提取点越少,可减少噪声干扰。
KSJXS_Get3DLaserLineBrightnessThreshold
int KSJXS_Get3DLaserLineBrightnessThreshold(IN void* handle, int* pnThreshold)
获取激光光条的灰度阈值。
| 参数 | 方向 | 说明 |
|---|---|---|
pnThreshold |
out | 灰度阈值 |
返回:成功返回 KSJXS_RET_SUCCESS;失败返回错误码
KSJXS_Set3DLaserLineBrightnessLowThreshold
int KSJXS_Set3DLaserLineBrightnessLowThreshold(IN void* handle, int nLowThreshold)
设置激光光条的灰度低阈值(兜底阈值)。
| 参数 | 方向 | 说明 |
|---|---|---|
nLowThreshold |
in | 灰度低阈值,范围 0~255 |
返回:成功返回 KSJXS_RET_SUCCESS
说明
- 计算光条中心时先用正常阈值;若找不到光条中心,会尝试用该低阈值再次计算。
- 低阈值应小于正常阈值才有效。
KSJXS_Get3DLaserLineBrightnessLowThreshold
int KSJXS_Get3DLaserLineBrightnessLowThreshold(IN void* handle, int* pnLowThreshold)
获取激光光条的灰度低阈值。
| 参数 | 方向 | 说明 |
|---|---|---|
pnLowThreshold |
out | 灰度低阈值 |
返回:成功返回 KSJXS_RET_SUCCESS;失败返回错误码
KSJXS_Set3DLaserLineWidth
int KSJXS_Set3DLaserLineWidth(IN void* handle, int nWidth)
设置激光光条的宽度阈值。
| 参数 | 方向 | 说明 |
|---|---|---|
nWidth |
in | 激光光条宽度阈值 |
返回:成功返回 KSJXS_RET_SUCCESS;失败返回错误码
KSJXS_Get3DLaserLineWidth
int KSJXS_Get3DLaserLineWidth(IN void* handle, int* pnWidth)
获取激光光条的宽度阈值。
| 参数 | 方向 | 说明 |
|---|---|---|
pnWidth |
out | 激光光条宽度阈值 |
返回:成功返回 KSJXS_RET_SUCCESS;失败返回错误码
KSJXS_SetMultiPeakMode
int KSJXS_SetMultiPeakMode(IN void* handle, KSJXS_MULTI_PEAK_MODE PeakMode)
设置光条提取多峰模式:一列像素上出现多个光条时的选取原则。
| 参数 | 方向 | 说明 |
|---|---|---|
PeakMode |
in | 多峰模式,见 KSJXS_MULTI_PEAK_MODE |
返回:成功返回 KSJXS_RET_SUCCESS;失败返回错误码
KSJXS_GetMultiPeakMode
int KSJXS_GetMultiPeakMode(IN void* handle, KSJXS_MULTI_PEAK_MODE* pPeakMode)
获取光条提取多峰模式。
| 参数 | 方向 | 说明 |
|---|---|---|
pPeakMode |
out | 多峰模式 |
返回:成功返回 KSJXS_RET_SUCCESS;失败返回错误码
KSJXS_Set3DIntensityWidthThreshold
int KSJXS_Set3DIntensityWidthThreshold(IN void* handle, int nThresh)
设置亮度图宽度阈值。
| 参数 | 方向 | 说明 |
|---|---|---|
nThresh |
in | 亮度图宽度阈值;默认 4,越大亮度图越暗,越小越亮 |
返回:成功返回 KSJXS_RET_SUCCESS;失败返回错误码
KSJXS_Get3DIntensityWidthThreshold
int KSJXS_Get3DIntensityWidthThreshold(IN void* handle, int* pnThresh)
获取亮度图宽度阈值。
| 参数 | 方向 | 说明 |
|---|---|---|
pnThresh |
out | 亮度图宽度阈值 |
返回:成功返回 KSJXS_RET_SUCCESS;失败返回错误码
KSJXS_SaveParamToFile
int KSJXS_SaveParamToFile(IN void* handle, char* pszFile)
将当前设备参数保存到文件。
| 参数 | 方向 | 说明 |
|---|---|---|
pszFile |
in | 保存参数的文件路径 |
返回:成功返回 KSJXS_RET_SUCCESS;失败返回错误码
KSJXS_LoadParamFromFile
int KSJXS_LoadParamFromFile(IN void* handle, char* pszFile)
用参数文件设置当前设备。
| 参数 | 方向 | 说明 |
|---|---|---|
pszFile |
in | 参数文件路径 |
返回:成功返回 KSJXS_RET_SUCCESS
说明
- 须在设备打开并已
KSJXS_Inital初始化之后调用。
KSJXS_GetAlgParamText
int KSJXS_GetAlgParamText(IN void* handle, char* pszXml, int nBufSize)
获取算法管线参数文本(XML 字符串)。
| 参数 | 方向 | 说明 |
|---|---|---|
pszXml |
out | 接收算法参数文本的缓冲区 |
nBufSize |
in | 缓冲区大小 |
返回:成功返回 KSJXS_RET_SUCCESS
说明
- 仅 UC3D 系列支持该功能。
KSJXS_SetAlgParamText
int KSJXS_SetAlgParamText(IN void* handle, const char* pszXml)
设置算法管线参数文本(XML 字符串)。
| 参数 | 方向 | 说明 |
|---|---|---|
pszXml |
in | 算法参数文本 |
返回:成功返回 KSJXS_RET_SUCCESS
说明
- 仅 UC3D 系列支持该功能。
KSJXS_LaserModeSet
int KSJXS_LaserModeSet(IN void* handle, KSJXS_LASER_MODE LaserMode)
设置线激光工作模式。
| 参数 | 方向 | 说明 |
|---|---|---|
LaserMode |
in | 线激光工作模式,见 KSJXS_LASER_MODE |
返回:成功返回 KSJXS_RET_SUCCESS
说明
- 常开 / 常关 / 闪光灯(仅轮廓采集时点亮)。
KSJXS_LaserModeGet
int KSJXS_LaserModeGet(IN void* handle, KSJXS_LASER_MODE* pLaserMode)
获取线激光工作模式。
| 参数 | 方向 | 说明 |
|---|---|---|
pLaserMode |
out | 线激光工作模式 |
返回:成功返回 KSJXS_RET_SUCCESS;失败返回错误码
KSJXS_LaserPowerSet
int KSJXS_LaserPowerSet(IN void* handle, int nPower)
设置激光功率。
| 参数 | 方向 | 说明 |
|---|---|---|
nPower |
in | 线激光功率,范围 0~100,表示最大功率的百分比 |
返回:成功返回 KSJXS_RET_SUCCESS;失败返回错误码
KSJXS_LaserPowerGet
int KSJXS_LaserPowerGet(IN void* handle, int* pnPower)
获取激光功率。
| 参数 | 方向 | 说明 |
|---|---|---|
pnPower |
out | 线激光功率 |
返回:成功返回 KSJXS_RET_SUCCESS;失败返回错误码
KSJXS_SetYResolution
int KSJXS_SetYResolution(IN void* handle, float fYResolution)
设置运动方向(Y 向)精度。
| 参数 | 方向 | 说明 |
|---|---|---|
fYResolution |
in | 运动方向精度,单位:mm |
返回:成功返回 KSJXS_RET_SUCCESS
说明
- Internal 触发:精度 = ν / f(ν 为 Y 向速度 mm/s,f 为内触发频率 Hz)。
- External 触发:精度 = d / n(n 为编码器每圈脉冲数 ppr,d 为每圈移动距离 mm)。
- 必须按实际填写,否则点云 Y 向会压缩(设小)或拉伸(设大)。
KSJXS_GetYResolution
int KSJXS_GetYResolution(IN void* handle, float* pfYResolution)
获取运动方向精度。
| 参数 | 方向 | 说明 |
|---|---|---|
pfYResolution |
out | 运动方向精度,单位:mm |
返回:成功返回 KSJXS_RET_SUCCESS;失败返回错误码
KSJXS_SetUniformXResolution
int KSJXS_SetUniformXResolution(IN void* handle, float fXResolution)
设置 X 方向重采样分辨率(使 X 向等距)。
| 参数 | 方向 | 说明 |
|---|---|---|
fXResolution |
in | X 方向重采样分辨率精度,单位:mm |
返回:成功返回 KSJXS_RET_SUCCESS;失败返回错误码
KSJXS_GetUniformXResolution
int KSJXS_GetUniformXResolution(IN void* handle, float* pfXStart, float* pfXResolution, int* pnWidth)
获取 X 方向重采样参数。
| 参数 | 方向 | 说明 |
|---|---|---|
pfXStart |
out | 重采样后起始位置,单位:mm |
pfXResolution |
out | 重采样分辨率精度,单位:mm |
pnWidth |
out | 重采样后单个轮廓的数据点数 |
返回:成功返回 KSJXS_RET_SUCCESS;失败返回错误码
KSJXS_GetUniformXResolutionRange
int KSJXS_GetUniformXResolutionRange(IN void* handle, float* pfMin, float* pfMax)
获取 X 方向重采样分辨率的范围。
| 参数 | 方向 | 说明 |
|---|---|---|
pfMin |
out | 最小值,单位:mm |
pfMax |
out | 最大值,单位:mm |
返回:成功返回 KSJXS_RET_SUCCESS;失败返回错误码
KSJXS_SetUniformXZThreshold
int KSJXS_SetUniformXZThreshold(IN void* handle, float fZThreshold)
设置 X 方向重采样的 Z 阈值。
| 参数 | 方向 | 说明 |
|---|---|---|
fZThreshold |
in | Z 阈值,单位:mm |
返回:成功返回 KSJXS_RET_SUCCESS
说明
- 高度差超过阈值的两点之间不插值重采样,用于避免高度突变处产生过渡点。
KSJXS_GetUniformXZThreshold
int KSJXS_GetUniformXZThreshold(IN void* handle, float* pfZThreshold)
获取 X 方向重采样的 Z 阈值。
| 参数 | 方向 | 说明 |
|---|---|---|
pfZThreshold |
out | Z 阈值,单位:mm |
返回:成功返回 KSJXS_RET_SUCCESS;失败返回错误码
这份文档对您有帮助吗?
发现错误、表述不清或缺少内容?请告诉我们,我们会尽快补充。
您可以通过以下方式反馈: 发送邮件至 service@catchbest.com