没有合适的资源?快使用搜索试试~ 我知道了~
41724260-胡成成1
需积分: 0 0 下载量 109 浏览量
2022-08-03
14:31:21
上传
评论
收藏 3.73MB PDF 举报
温馨提示
试读
24页
摘要:在本报告中介绍了一套简易的图片编辑器软件系统的需求分析、设计、实现和测试。首先对于整个项目的基本模块,算法,框架,UI 界面需求进行分析,根据需求引入相关
资源详情
资源评论
资源推荐
《Python 程序设计》课程报告
1
利用 pyQt5 搭建一个简易的图片编辑器(PhotoEdit)
姓名:胡成成 学号:41724260
北京科技大学计通学院 通信 1701 班
摘要:在本报告中介绍了一套简易的图片编辑器软件系统的需求分析、设计、
实现和测试。首先对于整个项目的基本模块,算法,框架,UI 界面需求进行分
析,根据需求引入相关技术。其次开始软件系统的整体设计,从布局,功能和
代码层次进行分析设计。最后进行代码实现和功能测试,完成整个软件系统的
正常使用。在这里主要利用 Python 的图形化界面搭建,运用图像处理技术对现
有原图进行操作。
关键字:GUI 图形化界面;图像处理;pyQt5;滤镜。
1. 项目背景和意义
1.1 项目背景简介
伴随着 python 课程的结束,最吸引我兴趣的便是 python 图形化界面的搭建
与图像处理的部分。鉴于课上学习的 pyQt4 和图像处理的 PIL 库,通过类比学
习了最新版 pyQt5,通过对这方面的学习,能够综合到 GUI 界面的搭建,图像
处理等方法,于是选择完成一个简单的图像编辑器,精简的修图小程序,来实
践 python 的图形化理论学习。就这样,这个小项目就诞生了。
1.2 项目完成意义
通过搭建简易的图片编辑器主要是对学习的 Qt 的图形化操作熟悉,掌握基
本的图像处理本领。同时,增强了自己的资料搜集能力,并判别资料中的自己
需要的部分,以及工程开发的基本流程,测试的一些基本方法等等。
2. 需求分析
《Python 程序设计》课程报告
2
2.1 基本模块需求
针对一块基本的图形处理软件,包括了基本的文档打开存储,图形界面的搭
建,图形处理,日志记录等。于是需要下载相关模块,包括 pyQt5,pillow 等。
2.2 基本算法需求
根据任意一个图像处理软件,必然会用到图像处理的相关函数,有些函数也
就需要了解它的基本算法,比如滤镜的添加,便需要对图片的像素点进行处理,
调用相关函数,已经一些调整函数,例如亮度,对比度,锐化这些图片调整的
方式必然也有它的处理算法。于是需要查看相关文献,搜集资料来获取这些算
法的原理和使用方式。
2.3 基本框架需求
类比正常的软件开发规范,工程文件创建的格式规范化,学习基本的开发要
点,注释的规范,面向对象的开发方式,是否需要调用大框架等等。
2.4 基本 UI 需求
为了使 UI 界面更美观,需要一些图片挑选,字体选择规划,布局规划设计
等。
3. 概要和详细设计
3.1 设计概要
围绕图像编辑处理这一大功能,在设计时主要考虑到一下几点工作方向:
1. 设计主界面窗口的布局:采用编辑主窗口+处理选项窗口设计。
2. 分析要加入的基本功能:主要包括滤镜,调整,尺寸,旋转四个大方面
进行功能细化。
滤镜:无滤镜原图,黑白滤波,负滤波,均值滤波。
调整:对比度,亮度,锐化。
尺寸:修改宽度,修改高度,比例修改。
《Python 程序设计》课程报告
3
旋转:顺时针和逆时针 90 度旋转,垂直和水平翻转。
3. 分析功能并进行资料搜集处理:细化处理事项。
4. 分析需要写的代码的层次与功能:将代码按功能分类分块,是整个文件
具有层次感。
5. 开始撰写代码:根据不同功能分别细化处理。
6. UI 布局优化和细节调整。
7. 程序调试与修改。
8. 总结注意事项,并对比结果与预期的差距。
3.2 设计流程
确定选题方向
分析需求,查阅资料
布局设计
功能设计与选择
分析功能,找实现方法
实现功能并嵌入布局
代码分析,按功能分块
调试代码,修改bug
总结,对比结果预期
3.3 技术引用
《Python 程序设计》课程报告
4
1. 滤镜相关函数算法:(下面我们将原图 RGB 三色值分别记为
R,G,B,处理后图片 RGB 三色值记为 r,g,b)。
黑白滤波:
将像素点 R,G,B 先加权平均并记为 s
取 k 值 30
新的 RGB:r=s+k*2
;
g=s+k
;
b=s
负滤波:
新的 RGB:r=255-R;g=255-G;b=255-B
均值滤波:
将像素点 R,G,B 先加权平均并记为 s
新的 RGB:r=s
;
g=s
;
b=s
2. 调整相关函数算法:(MAX 参数限定最大值,MIN 参数限定最小值,
F_MAX 系数增强最大值,F_MIN 系数增强最小值,X 给定参数值)
计算比例系数 r:r=
(
X-MIN
)
/
(
MAX-MIN
)
得到增强系数:F_MIN+r*
(
MAX-MIN
)
将增强系数赋值给相应的调整参数
4. 代码实现
4.1 Python 版本与 IDE 说明
Python 版本:Python 3.6
IDE:Pycharm
4.2 相关库调用
PyQt5 库:PyQt5 是基于图形程序框架 Qt5 的 Python 语言实现,由一组
Python 模块构成。需要借助该模块完成基本界面的搭建,主要包括
QtWidgets,QtCore,QtGui 组件的基本使用,完成部件布局和事件的基本处理。
剩余23页未读,继续阅读
WaiyuetFung
- 粉丝: 63
- 资源: 316
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- Music-Player +PlayerActivity+ rockplayer+ SeeJoPlayer 播放器JAVA源码
- vscode-1.46.0.tar源码文件
- 最近很火植物大战僵尸杂交版2.08苹果+安卓+PC+防闪退工具V2+修改工具+高清工具+通关存档整合包更新
- 超级好用的截图工具PixPin,可录制Gif图
- Screenshot_2024-05-21-17-06-42-64_2332cb9b27b851b548ba47a91682926c.jpg
- 毕业设计参考 - 基于树莓派、OpenCV及Python的人脸识别
- node-v18.20.2-linux-arm64
- 222222222222
- 16张相机标定图片,可复现本文畸变矫正
- dbeaver-ce-23.3.1-x86_64-setup.zip
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功
评论0