"""
采集卡测试脚本
用于测试采集卡是否能正常工作
"""
import cv2
from utils.get_image import GetImage
from config import config_manager

def test_camera():
    """测试采集卡"""
    print("🔧 采集卡测试工具")
    print("=" * 50)
    
    # 获取活动配置
    active_group = config_manager.get_active_group()
    if active_group is None:
        print("❌ 没有活动的配置组")
        print("请先运行 python gui_config.py 设置配置")
        return
    
    print(f"📋 使用配置: {active_group['name']}")
    print(f"   采集卡索引: {active_group['camera_index']}")
    print(f"   分辨率: {active_group['camera_width']}x{active_group['camera_height']}")
    print()
    
    # 初始化采集卡
    get_image = GetImage(
        cam_index=active_group['camera_index'],
        width=active_group['camera_width'],
        height=active_group['camera_height']
    )
    
    if get_image.cap is None:
        print("❌ 采集卡初始化失败")
        return
    
    print("✅ 采集卡初始化成功")
    print("按 'q' 退出测试")
    print()
    
    # 测试循环
    frame_count = 0
    while True:
        frame_data = get_image.get_frame()
        
        if frame_data is None:
            print("⚠️ 无法获取帧")
            continue
        
        frame_count += 1
        if frame_count % 30 == 0:  # 每30帧显示一次状态
            print(f"📊 已获取 {frame_count} 帧")
        
        # 显示图像
        cv2.imshow('采集卡测试', frame_data[0])
        
        # 按 'q' 退出
        if cv2.waitKey(1) & 0xFF == ord('q'):
            break
    
    # 清理
    get_image.release()
    cv2.destroyAllWindows()
    print("🔚 测试结束")

if __name__ == "__main__":
    test_camera()
