This commit is contained in:
2025-12-04 17:42:39 +08:00
parent 668326a8cc
commit 38df71a10d

View File

@@ -0,0 +1,67 @@
from pylablib.devices.Andor import AndorSDK3Camera
# 连接相机
cam = AndorSDK3Camera(idx=0)
cam.open()
print("已连接到相机")
# 测试1: 触发模式
print("\n=== 测试1: 触发模式 ===")
print(f"当前触发模式: {cam.get_trigger_mode()}")
cam.set_trigger_mode("int")
print(f"设置为内部触发: {cam.get_trigger_mode()}")
cam.setup_acquisition(mode="snap", nframes=1)
cam.start_acquisition()
cam.wait_for_frame()
frames = cam.read_multiple_images()
cam.stop_acquisition()
print(f"采集成功,图像尺寸: {frames[0].shape}")
# 测试2: 温度
print("\n=== 测试2: 温度设置 ===")
print(f"当前温度: {cam.get_temperature()} °C")
print(f"温度设定点: {cam.get_temperature_setpoint()} °C")
print(f"制冷器状态: {cam.is_cooler_on()}")
# 测试3: 帧周期
print("\n=== 测试3: 帧周期/帧率 ===")
print(f"当前帧周期: {cam.get_frame_period()}")
frame_timings = cam.get_frame_timings()
print(f"曝光时间: {frame_timings[0]}")
print(f"帧周期: {frame_timings[1]}")
# 测试4: 曝光时间范围测试
print("\n=== 测试4: 不同曝光时间 ===")
exposure_times = [0.01, 0.05, 0.1]
for exp in exposure_times:
cam.set_exposure(exp)
actual_exp = cam.get_exposure()
print(f"设置曝光 {exp}s, 实际 {actual_exp}s")
cam.setup_acquisition(mode="snap", nframes=1)
cam.start_acquisition()
cam.wait_for_frame()
frames = cam.read_multiple_images()
cam.stop_acquisition()
print(f" 采集成功,图像尺寸: {frames[0].shape}")
# 测试5: 元数据
print("\n=== 测试5: 元数据 ===")
print(f"元数据启用: {cam.is_metadata_enabled()}")
# 测试6: ROI限制
print("\n=== 测试6: ROI限制 ===")
roi_limits = cam.get_roi_limits()
print(f"水平ROI限制: min={roi_limits[0].min}, max={roi_limits[0].max}, maxbin={roi_limits[0].maxbin}")
print(f"垂直ROI限制: min={roi_limits[1].min}, max={roi_limits[1].max}, maxbin={roi_limits[1].maxbin}")
# 测试7: 获取所有属性值
print("\n=== 测试7: 部分相机属性 ===")
all_attrs = cam.get_all_attribute_values()
important_attrs = ['CameraModel', 'SensorWidth', 'SensorHeight', 'PixelEncoding', 'BitDepth']
for attr in important_attrs:
if attr in all_attrs:
print(f"{attr}: {all_attrs[attr]}")
# 断开连接
cam.close()
print("\n已断开连接")