calibrate()
📖 方法说明
执行传感器校准,建立基准图像用于后续的数据采集和处理。校准过程对于确保数据准确性至关重要。
📝 语法
# 方式1: 自动采集图像进行校准(在线模式)
sensor.calibrate()
# 方式2: 使用传感器原始图像进行校准(离线模式)
sensor.calibrate(calib_image=raw_calib_image)
🔧 参数
| 参数名 | 类型 | 默认值 | 说明 |
|---|---|---|---|
calib_image | np.ndarray | None | None | 用于离线校准的传感器原始图像(raw image)None 表示在线模式下自动采集图像进行校准 |
📤 返回类型
无返回值
💡 示例代码
在线校准(自动采集)
from pyvitaisdk import VTSensor, VTSDeviceFinder
# 获取设备并初始化传感器
finder = VTSDeviceFinder()
devices = finder.get_devices()
sensor = VTSensor(devices[0])
# 自动采集图像进行校准
print("请确保传感器表面无接触...")
sensor.calibrate()
print("传感器已校准")
# 使用传感器...
# 释放实例
sensor.release()
离线校准(指定图像)
import cv2
from pyvitaisdk import VTSensor, VTSensorType
# 离线模式初始化
sensor = VTSensor(config=None, sensor_type=VTSensorType.GF225)
# 加载已保存的传感器原始校准图像,不要预先执行 warp
raw_calib_image = cv2.imread("raw_calibration_image.jpg")
# SDK 会在内部完成 warp 后再校准
sensor.calibrate(calib_image=raw_calib_image)
print("传感器已校准(离线模式)")
sensor.release() # 释放资源
⚠️ 注意事项
校准环境要求
- 无接触状态:校准时传感器表面不能有任何物体接触
- 稳定光照:保持环境光照稳定,避免反光和阴影
- 清洁表面:确保传感器表面清洁,无灰尘或污渍
重要提醒
- 校准过程中请勿触碰传感器
- 校准图像质量直接影响后续所有数据的准确性
最佳实践
- 在每次启动程序时执行一次校准
- 长时间运行时定期重新校准
- 保存校准图像以备离线处理使用
离线模式说明