图像处理软件是人们日常生活中经常使用的软件之一,然而现有的软件多数存在功能复杂、冗余庞大导致的启动速度慢等问题。本项目旨在基于我们所学到的图像处理等方面的知识,并结合MVVM框架进行小组合作,实现一款轻量级的图像处理软件(具体要求见需求分析)。
-
本项目基于QT5.12.1 遵循C++17标准
-
整体架构基于MVVM(Model-View-ViewModel)实现
-
采用Git进行版本控制 使用Travis CI持续集成
- 梁超(组长)
- 刘韧(组员)
- 周名弦(组员)
-
第0轮迭代
- 全体成员讨论需求分析 确定主题
- 梁超负责持续集成的搭建以及MVVM框架的搭建
-
第1轮迭代
- 实现保存、撤销、调整亮度对比度、各种滤波等功能
- 梁超负责Model和ViewModel层
- 刘韧负责APP层
- 周名弦负责View层
-
第2轮迭代
- 实现图像分割、边缘检测、二值化、直方图均值化、加噪声、放大缩放等功能
- 周名弦负责Model和ViewModel层
- 梁超负责APP层
- 刘韧负责View层
-
第3轮迭代
- 实现人脸检测、人脸标记等高级功能
- 刘韧负责Model和ViewModel层
- 周名弦负责APP层
- 梁超负责View层
三轮迭代完成后,全体成员将MVVM框架的各个分工都做了一遍。
第0轮迭代仅仅实现了一个图像打开功能,如图所示能够在软件的正中央显示打开的图像。
通过第0轮搭建的框架,在大家熟悉了框架后开始正式地合作开发。
第1轮迭代实现了调节亮度对比度的功能、各种滤波的功能以及保存图像和撤销的功能。
本轮迭代新增了亮度与对比度调节的界面如下图所示,此外菜单栏上多了相应功能的选项。
第2轮迭代在第一轮迭代的基础上继续增加功能,加入了转化为灰度图、二值化、边缘检测、图像分割、加入噪声、直方图均衡化以及缩放等功能。
本轮的迭代在界面上仅仅是工具栏上增添了新的功能选项,如下图所示。
第3轮迭代在第2轮的基础上增加一些高级功能比如说人脸识别、人脸标记、人脸美化、生成大头照等。
本轮在界面上没有做过多的修改,主要是训练了模型并加入到我们的软件中。