酷狗音乐是当今界面做的最好的软件,本人一直想模仿它,经过多年的研究,终于通过QT+FFmpg+OpenCV来解决了全部功能。

QT用来设计界面

FFmpeg用来解码音频和频谱

OpenCV用来对频谱图像优化

在这些功能中,频谱是比较难实现的,我的方案是选通过FFmpeg获取音频采样率,再分析绘制成QImage图像,再用OpenCV优化。

下图是绘制的原图:

图像经过高斯模糊后的效果,发现边缘变黑了.不美观,关键在下一步!

经过本人对PS的了解,用了一个巧妙的方法:反相,黑边缘变成白的,好看多了!和酷狗也差不了多少了!

反相的代码如下(QT):

invert(Mat& mat)
{int alphaWidth=mat.cols/10;//计算淡入淡出的宽度,图像的1/10.int w= mat.rows;int h= mat.cols;for (int i = 0; i < w; ++i) {for (int j = 0; j < h; ++j) {Vec4b& rgba = mat.at<Vec4b>(i, j);if(rgba[3]>0){//下面是对RGB进行反相,255-rgb值的绝对值rgba[0]=qAbs(255-rgba[0]);//rrgba[1]=qAbs(255-rgba[1]);//grgba[2]=qAbs(255-rgba[2]);//b//下面是图像左边淡入处理rgba[3]为图像的Alph值,即透明度。if(j<alphaWidth){rgba[3]=rgba[3]*((double)j/(double)alphaWidth);}//下面是图像右边淡出处理else if(j>h-alphaWidth){rgba[3]=rgba[3]*((double)(h-j)/(double)alphaWidth);}}}}
}

主程序的一些代码:

 Mat src_img = QImageToMat(m_img);//QImage转MatMat des_img;GaussianBlur(src_img,des_img,Size(0,0),4);//调用OpenCV的高峰期模糊函数des_qimg=MatToQImage(invert(des_img));//反相后转为QImage格式update();//更新背景频谱

下面是播放器的一些图片:

软件效果观看视频:https://www.bilibili.com/video/av62887688/

由于程序有一些功能还在完善中,不久后将公布相关教程和源码!大家期待,也可一起探讨研究!

基于OpenCV的音频频谱优化(仿酷狗频谱)相关推荐

  1. 【游戏开发创新】手把手教你使用Unity制作一个高仿酷狗音乐播放器,滨崎步,旋律起,爷青回(声音可视化 | 频谱 | Audio)

    文章目录 一.前言 二.获取UI素材 三.使用UGUI制作界面 1.界面布局 2.账号圆形头像 3.搜索框 4.调节UI层 5.黑色按钮悬浮高亮效果 6.纯文字按钮 7.滚动列表自适应 8.歌名与视频 ...

  2. 基于Qt的仿酷狗音乐播放器设计(二)

    简述 在上一文"基于Qt的仿酷狗音乐播放器设计(一)"中,博主给出了仿酷狗界面的部分内容,在本文中将继续分析酷狗界面,并作出相应的分析. 下面我们来看一下酷狗界面中的左侧滑动页控制 ...

  3. java仿酷狗音乐源码_【附项目源码】仿酷狗音乐客户端,浅淡动感歌词补充

    原标题:[附项目源码]仿酷狗音乐客户端,浅淡动感歌词补充 1.前言 之前写了几篇关于动感歌词的简单介绍,相信大家还有印象,这里就不多说了,这篇要说的是,关于翻译歌词和音译歌词,以及我在解析和显示这两种 ...

  4. android 高仿酷狗源码,项目源码--Android类似酷狗音乐播放器

    知识技能概要: 1.音乐文件的扫描与管理 2.音频流的解码 3. UI控件的综合使用 4.播放列表方式管理 5.随机播放方式 6.源码带详细的中文注释 ...... 详细介绍 1.音乐文件的扫描与管理 ...

  5. 仿酷狗音乐播放器已开源!

    转载请说明原出处,谢谢:http://blog.csdn.net/zhuhongshu/article/details/41037875 距离我发布测试版的Redrain音乐盒(仿酷狗播放器),现在正 ...

  6. js、jQuery 仿酷狗音乐

    很久之前做的仿酷狗音乐播放器,有需要的同学可以借鉴下,希望对您有些许帮助,存在一些bug,完成后没做太多修改,毕竟是练练手,工作之余做的,您可以将存在的需要解决的问题写在评论里,我会及时回复,望见谅. ...

  7. android歌词效果,Android仿酷狗动感歌词(支持翻译和音译歌词)显示效果

    引言 该开源依赖库是乐乐音乐播放器里的一个歌词模块功能,现在把该功能模块独立出来进行优化,并弄成了一个开源依赖库,其它音乐播放器项目只要引用该库并调用接口,便可轻松实现与乐乐音乐播放器一样的动感歌词显 ...

  8. 仿酷狗音乐播放器开发日志二十四 选项设置窗体的实现(附328行xml布局源码)

    转载请说明原出处,谢谢~~ 花了两天时间把仿酷狗的选项设置窗体做出来了,当然了只是做了外观.现在开学了,写代码的时间减少,所以整个仿酷狗的工程开发速度减慢了.今天把仿酷狗的选项设置窗体的布局代码分享出 ...

  9. 仿酷狗音乐播放器开发日志二十四 选项设置窗体的实现(附328行xml布局源码)...

    转载请说明原出处,谢谢~~ 花了两天时间把仿酷狗的选项设置窗体做出来了,当然了只是做了外观.现在开学了,写代码的时间减少,所以整个仿酷狗的工程开发速度减慢了.今天把仿酷狗的选项设置窗体的布局代码分享出 ...

最新文章

  1. docker image存储路径_使用fluentd作为docker日志驱动收集日志
  2. python连接oracle
  3. 如何将PDF转换为DOCX?
  4. 增加批量修改成本价格,配合后台管理增加成本价和毛利润统计
  5. 小米笔记本重装系统BOOT启动菜单识别不了硬盘无法启动进入系统
  6. 微信网页授权关于state
  7. 特征值和特征向量的作用
  8. 微信小程序:去水印工具微信小程序源码
  9. SQL Server 2005全文检索技术在网站上的应用实录
  10. 10个比Visio更好的流程图制作软件
  11. python计算机视觉编程——基本的图像操作和处理
  12. matlab作时间轴有关的图
  13. SVLAN,CVLAN,PVLAN是属于SVLAN(Stack VLAN)的观念
  14. 巨龙之巢服务器为响应,LOL巨龙之巢新网通大区9月4日开放 龙女皇子潘森免费用...
  15. python证书微软认证费用_微软认证有哪些?费用多少?
  16. 读史记——刘敬叔孙通列传第三十九(1)
  17. Linux中DNS的分离解析和自动分配
  18. 可以说是校招面试难度天花板了吧~
  19. C#中,用户控件UserControl里面用Panl加载UserControl,并实现利用委托互相传值
  20. 我是谁?|一名双非、大龄青年的转行之路

热门文章

  1. 文件误删秒恢复!微软又发布了一款命令行神器!
  2. 你知道管理工作中要远离三只猫吗?
  3. win8下载java_jdk,64位下载win8
  4. [C#] C#深入浅出4th Edition [2]
  5. 重写equals为什么要重写hashcode
  6. mysql导入数据出现--unknown command '\'
  7. 课程在线学习的小程序
  8. 数值型数据的表示(3.0)
  9. app电池续航上下--Android自动化测试学历历程
  10. 关于win7下r3窗口进程保护的一些方式