
该摄像头上位机程序采用支持串口和网络接收的电路方案。
5星
- 浏览量: 0
- 大小:None
- 文件类型:None
简介:
此前曾使用过一种类似软件,其仅能进行串口接收,且接收速度较为有限,同时还会显著消耗CPU资源。不久前,在尝试使用USB摄像头时,我自行用C++语言编写了一个程序,该程序不仅支持串口接收功能,还具备接收JPEG图像序列的网络传输能力。现将此软件分享给需要的同学,以便各位能够更便捷地进行程序调试。
串口接收功能方面:该软件支持任意串口端口,能够自动检测电脑上可用的端口,并允许用户选择波特率范围从9600到921600。默认情况下,该功能不启用流控制和奇偶校验设置,采用8位数据位和1位停止位的配置。无需复杂的通信协议支持,系统能够自动识别JPG数据的起始标志(FFD8)和结束标志(FFD9),并忽略位于这些标志之间的非JPG数据,将其显示在数据接收窗口中(目前仅支持文本显示形式,16进制显示尚未实现)。此外,该软件还具备显示接收数据量、帧速率(可能存在一定误差)、以及单帧JPG图像数据大小和图像分辨率的功能。
目前,串口发送功能尚未实现。网络接收功能方面:上位机同样支持通过网络接收JPEG图像序列。数据接收功能和图像显示功能与串口模式保持一致。上位机默认配置为服务器端模式,并且暂时仅支持TCP服务器协议;UDP协议的实现仍在开发中。当前系统最多支持一个客户端的连接请求,并可实时显示客户端的连接状态及IP地址信息。需要注意的是,同时开启串口接收功能和网络接收功能可能会导致数据混乱进而影响图像显示效果。此外,串口和网络的发送功能均处于开发阶段(目前尚未使用)。我本人通过TCP本地回环测试了TCP客户端发送的MJPG编码的1080P avi视频文件传输过程中的网络速度约为3~5MB/s(在360加速球场景下观察),图像显示速率约为20~30fps,CPU占用率约为25%(使用i5 750处理器)。关于串口传输效果的详细信息可以参考提供的视频链接:https://pan.baidu.com/s/1jGDA9s6 。
软件运行稳定性方面经过了长时间测试(持续测试了数小时的图像传输),并未发现明显问题;但仍可能存在一些细微的bug, 欢迎大家积极反馈意见。为了更清晰地展示性能指标, 测试截图更新说明:之前的FPS计算方法基于两帧之间的时间间隔进行计算, 导致数值波动较大且难以准确观察;现在已改为每秒更新一次, 以提供更稳定的数据呈现。对于有MJPG网络视频传输需求的同学, 建议尝试使用本软件.
全部评论 (0)


