高级程序设计——Project1报告
以下内容如有错误还请大家斧正
作业要求:
针对远程桌面的图像压缩
- 使用提供的数据集,按照已有分类,测试不少于3种压缩算法,统计不同分类的压缩率、压缩时间和解压缩时间,并通过WEB显示出来;
- 对于压缩后的二进制数据,使用不少于3种网络传输协议,进行网络传输(记录网络环境),统计传输时间和丢包率,并通过WEB显示出来。
选做: - 对压缩算法进行改进,提高压缩率,或者提高图片从压缩开始到解压缩结束的时间;
- 加入对网络传输协议的综合改进,提高在网络传输的情况下,图片从压缩开始到解压缩结束的时间。
完成度:
必做部分全部完成,选做部分对于压缩算法进行了简单的优化。
项目内容:
1.前端:我采用了 \(Flask\) 框架作为主框架实现了前后端的衔接。在前端向后端的响应方面我采用 \(Flask\) 框架中拓展的 \(Flask-wtf\) 表单(这里有点小坑)。在前端接受后端数据方面我才用了\(Jquery\) 的 \(ajax\)。在数据的可视化方面我采用了 \(echarts\) 的现成轮子。
2.后端:我采用了 \(openCV\) 中的压缩图片的三种现成算法。解压方面也采用了其中的解压函数。在网络传输协议方面采用了 \(tcp\),\(udp\),\(ftp\) 。
项目步骤:
先把后端的主体部分建好,再搭建web进行前后端的衔接,最后进行相关的优化和前端的美化。
3.14 完成第一个压缩算法
3.16 完成三种压缩算法和 \(flask\) 的初步框架
3.18 完成 \(tcp\) 和 \(udp\) 两种协议
3.19 完成 \(ftp\)
3.21 完成前端图表和前后端的响应
3.22 进一步完善图表和前后端的响应
3.23 整体拼接,补充压缩算法,完善项目,增强可拓展性
项目不足:
项目的可拓展性不够高,代码重用部分实现一般,存在代码冗余问题。
总结:
面对大量知识学习时,需要更高效的信息处理,及时筛选出自己应该学的内容。
要减少拖延,不然就会造成前松后紧的局面。
将项目细分,不要一口吃个胖子。