当前位置: 首页 > news >正文

基于Basler相机的同步软件触发二次开发程序

程序基于pyside2库编写,实现了多basler相机的同步软件触发,简单易用。

项目地址(包含python源码和.exe打包程序):

https://github.com/Magic-Doctor/Synchronization-software-trigger-program-based-on-Basler-camera.git

其中涉及到pylon的API,可去官网下载SDK。

1. 问题背景:basler官方的软件pylon Viewer给出了以“Action Commands”的方式来同步多相机单次采集的方案,但是这个方案只能单次同步采集,并且每个相机还要手动保存图像,过于繁琐,对于需要一定帧率自由连续同步采集的场景并不好用。因此对此进行了二次开发。主要实现的功能就是多相机连续同步采集,当然也具备基本的单次同步采集能力。


2. 程序简介:

简单介绍程序,界面如下:

2.1. 相机理论连接数量没有上限,多相机连接时需要借助交换机。

2.2.相机连接上后会自动识别相机的id,每个相机在采集前必须要设置图片存储位置

2.3. 曝光时间可通过滑动条或者数字调节,相机的帧率超过相机上限改大了也没用

2.4. 图像尺寸改的是视场显示的区域,而不是像素分辨率

2.5. 程序可以实现自由连续采集,同步单次采集和同步连续采集三个功能。

自由连续采集:每个相机自由连续采集,不保持图像

同步单次采集:每个相机同步采集单张图片并保存

同步连续采集:每个相机连续同步采集多张图片并自动保存

2.6. 有延时存储的功能,能实现特定时间间隔的图像采集(不能小于相机单帧时间间隔),主要用在同步连采功能

2.7. 尝试了官方给的PTP协议来调控同步时差,不过没做好,功能可以忽略,没用


3. 注意细节:

3.1. 自由连采时可以不用设置图片保存地址,如果设置了,在自由连采时会持续保存图片在电脑上。

3.2. 有时候同步连采会因为数据传输不稳定,出现图像丢失,可能会导致某个相机的某张图像漏掉,只要保证每个相机的图像编号是对上的那么这些图像就是同步性对应的(或者说时间戳是同步的)。比如相机1存储是 1 2 3 5 6,相机2存储是 12 3 6,两个相机的图像1,2,3, 6还是同步的。通过图像编号判断能避免相机因传输不稳定导致的图像采集对应性问题。

3.3. 程序核心是软件触发,因此传输线的带宽限制、代码执行效率,硬件条件等因素都可能会影响同步性,因此该程序比较适合低速或者静止状态的多视角测量。

用两个相机测试了下程序的同步性,硬件是千兆网线以及常规笔记本,采用手机上的毫秒表作为标度,结果显示程序实现的同步效果还是有效的。多次测试下来的结果,同步误差大概在20ms-50ms左右。

测试也没有发现异常bug,程序写了一些异常提示,给予一些操作上的提示。

http://www.jsqmd.com/news/1098552/

相关文章:

  • APK Installer深度解析:Windows平台上的Android应用部署技术内幕
  • Java中的final 和 C++中 _
  • Stable Diffusion 图像生成原理浅析
  • 别再手动调间距了!用enumitem宏包5分钟搞定LaTeX列表排版
  • 从OpenBMC到商业部署:手把手带你走一遍飞腾腾珑E2000 BMC固件的完整适配流程
  • ppt模板_0133_蓝色波线
  • 数据分析入门实战:Excel、SQL、Python与BI工具全流程指南
  • Java的java.lang.StackWalker分布式
  • 别再手动算功率了!用Simulink搭建一个实时功率分析仪(附模型下载)
  • 怎样轻松掌握开源内存检测工具:Memtest86+新手实战完全手册
  • 紧急预警:传统人工Code Review正面临AI工具降维打击——错过这波升级,技术债将指数级膨胀
  • 3分钟快速上手:用HunterPie打造你的智能狩猎仪表盘
  • 如何免费高效查看.brd文件?OpenBoardView开源PCB查看器终极指南
  • 华为光猫配置解密工具:打开网络设备的加密黑匣子
  • 2026国内GEO公司排名前十深度盘点!行业格局+实力拆解(企业选型必看)
  • LangGraph 中的 add_messages
  • 农业无人机:航拍图像分析与作物健康评估
  • 从XML实体到XXE漏洞:原理、实战攻防与多语言安全实践
  • NVIDIA显卡用户终极色彩校准指南:5分钟实现专业级sRGB色彩还原
  • 基于HarmonyOS 7.0 跨端开发的篆刻印章设计页面实战
  • 如何彻底解决Zotero Style插件兼容性问题:终极修复指南与优化方案
  • Sunshine游戏串流服务器:打造你的终极跨平台游戏串流系统
  • 数字电路模拟程序系列题目实践总结与分析
  • YOLOv10模型改进-卷积层改进-第19篇:YOLOv10改进策略【卷积层】| Swin Transformer卷积改进方案
  • RAG失败根因与修复:语义对齐、知识切分与动态上下文蒸馏
  • Redis 慢查询问题诊断方法
  • 在Windows电脑上运行Android应用:WSABuilds一站式解决方案
  • 从Vgs到VCO:用拉扎维《模拟CMOS》的核心概念,手把手拆解一个PLL设计流程
  • 筑城世纪模型燃机电站沙盘动态灯光控制系统:基于STM32与Modbus RTU的实战方案
  • ClaudeCode 安装加切换 DeepSeek 大模型