68 lines
1.8 KiB
Python
68 lines
1.8 KiB
Python
"""
|
|
采集卡测试脚本
|
|
用于测试采集卡是否能正常工作
|
|
"""
|
|
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()
|