Qt QImage实现频谱图绘制

频谱图,又称光谱图,显示了信号的频谱强度随时间的变化,不同的强度采用不同的颜色显示,呈线性映射关系。在频谱图上,横轴表示频率,纵轴表示时间,每个点用不同颜色表示信号的强度。

在项目中遇到需要用Qt来实现频谱图绘制,数据每隔1秒发一批,每批数据包含不同频率对应的信号强度,频率最大到23300Hz,同时需要记录过去360秒的数据,最终程序需要运行在国产目标机上。

分析一下,需要建立坐标系来绘制,横轴有23300个维度,纵轴有360个维度,图上有23300×360=8388000个点,每秒更新一次。

实现方法有很多种,可以用QPainter、paintGL、QChart、QCustomPlot等,不同方法各有利弊,比如用QPainter实现的话性能较差,容易卡死;paintGL需要依赖OpenGL环境,国产机不一定支持;QChart只支持Qt5.7之后的版本;QCustomPlot功能强大,性能较好,而且开源,但是封装程度高,自由度小,可扩展接口较少。

这里提供另一种实现方法:

用QIma

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值