from pylablib.devices.Andor import AndorSDK3Camera # 连接相机 cam = AndorSDK3Camera(idx=0) cam.open() print("已连接到相机") # 获取探测器尺寸 detector_size = cam.get_detector_size() print(f"探测器尺寸: {detector_size}") # 测试1: 默认参数采图 print("\n=== 测试1: 默认参数 ===") print(f"当前曝光: {cam.get_exposure()} 秒") print(f"当前ROI: {cam.get_roi()}") 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: 设置曝光时间 0.05秒 ===") cam.set_exposure(0.05) print(f"当前曝光: {cam.get_exposure()} 秒") 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}") # 测试3: 修改ROI print("\n=== 测试3: 设置ROI (512x512) ===") cam.set_roi(hstart=0, hend=512, vstart=0, vend=512) print(f"当前ROI: {cam.get_roi()}") 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}") # 测试4: 修改binning print("\n=== 测试4: 设置binning 2x2 ===") cam.set_roi(hbin=2, vbin=2) print(f"当前ROI: {cam.get_roi()}") 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: 恢复全幅ROI print("\n=== 测试5: 恢复全幅ROI ===") cam.set_roi() print(f"当前ROI: {cam.get_roi()}") 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}") # 断开连接 cam.close() print("\n已断开连接")