selectSensorInfo 方法
- Sensor.selectSensorInfo(*args)
获取指定类型的传感器数据,返回数量和顺序与输入参数一致。
- Parameters:
args (Sensor.OutputType) – 任意数量的
Sensor.OutputType枚举,用于指定需要获取的数据类型。支持的枚举值及对应数据如下:
支持的数据类型及说明 枚举值
数据类型
说明
Sensor.OutputType.RectifyOptional[np.ndarray]
校正图像,shape=(700, 400, 3),BGR 格式
Sensor.OutputType.DifferenceOptional[np.ndarray]
差分图像,shape=(700, 400, 3),BGR 格式
Sensor.OutputType.DepthOptional[np.ndarray]
深度图像,shape=(700, 400),单位为毫米(mm)
Sensor.OutputType.ForceOptional[np.ndarray]
三维力分布,shape=(35, 20, 3)
Sensor.OutputType.ForceNormOptional[np.ndarray]
法向力分量,shape=(35, 20, 3)
Sensor.OutputType.ForceResultantOptional[np.ndarray]
六维合力,shape=(6,)
Sensor.OutputType.Marker2DOptional[np.ndarray]
切向位移,shape=(26,14,2)
Sensor.OutputType.Mesh3DOptional[np.ndarray]
当前帧 3D 网格,shape=(35, 20, 3)
Sensor.OutputType.Mesh3DInitOptional[np.ndarray]
初始 3D 网格,shape=(35, 20, 3)
Sensor.OutputType.Mesh3DFlowOptional[np.ndarray]
网格形变向量,shape=(35, 20, 3)
Sensor.OutputType.TimeStampOptional[np.ndarray]
传感器时间戳,单位s
- Returns:
所请求的传感器数据,返回数量和顺序与输入参数一致。
- Return type:
与输入参数对应的
np.ndarray或None(数据未获取到时)
Note
如果需要同时获取多种类型的数据,请按照例程中的形式用同一次函数调用获取,这样可以保证所有数据来自于同一帧,并且计算速度是最优化的
示例代码
from xensesdk import Sensor
# 创建传感器实例
sensor = Sensor.create('OP000064')
# 获取指定类型的传感器数据
rectify, depth, force = sensor.selectSensorInfo(
Sensor.OutputType.Rectify,
Sensor.OutputType.Depth,
Sensor.OutputType.Force
)
# 输出数据形状(示例)
print("校正图像形状:", rectify.shape) # (700, 400, 3)
print("深度图像形状:", depth.shape) # (700, 400)
print("三维力分布形状:", force.shape) # (35, 20, 3)
# 释放资源
sensor.release()