文章目录
源码下载地址
项目介绍
图像工程课程设计 基于 OpenCV 、 Qt 库实现的图像处理软件 大学编程作业(TUST 天津科技大学 2023 年)
图像工程课程设计 基于 OpenCV 、 Qt 库实现的图像处理软件 大学编程作业(TUST 天津科技大学 2023 年)
一、项目简介
二、项目要求
三、项目源码
四、交流学习
图像处理工具说明文档
基于 OpenCV 、 Qt 库实现的图像处理软件
一、系统介绍
(一)编程语言
(二)开发软件环境
一、系统介绍
(一)编程语言
(二)开发软件环境
(三)运行平台和支撑环境
(四)开发目的
(五)主要功能
二、系统分析与设计
(一)需求分析
(二)概要设计
(三)详细设计
三、主要运行界面
(一)主窗口
(二)图像灰度化
(三)图像二值化
(四)图像 3×3 均值滤波
(五)图像 3×3 中值滤波
(六)图像拉普拉斯 4 领域锐化
(七)图像边缘检测
(八)图像直方图计算与显示
(九)视频灰度化
(十)人脸识别
(十一)说明文档
(十二)联系作者
(十三)保存文件
四、总结
部署运行说明
基于 OpenCV 、 Qt 库实现的图像处理软件
一、项目介绍
(一)编程语言
(二)开发软件环境
(三)运行平台和支撑环境
二、运行说明
一、项目简介
项目功能
一、项目简介
本图像处理软件,我使用了 C++ 丰富的第三方开源库,如 OpenCV 、 Qt 来制作,实现了打开图像文件、显示图像、存储处理后图像,对图像进行灰度化、二值化(阈值可调)、3×3 均值滤波、3×3 中值滤波、拉普拉斯 4 领域锐化、边缘检测、直方图计算与显示功能;视频图像处理功能,可以对每帧视频帧进行灰度化并保存;检测视频中人脸面部并覆盖标记,采用 OpenCV 中 harrcascade 检测框架检测人脸,并实时覆盖。并且 UI 界面较为美观易用。通过这次图像工程课程设计的实践,我巩固了数字图像处理的知识,熟练应用了各个第三方开源库,为之后的数字图像处理的深入学习打下了基础。
这个项目是我大三写的,现在回顾已经非常粗糙,分享出来一方面希望可以帮助初学者,另一方面希望能让同学们可以从目前大学中普遍毫无价值的形式主义作业中解脱出来,更加高效地学习优质计算机知识和主流编程技术,一起发扬开源精神,感受互联网技术的美好愿景。
二、项目要求
图像工程课程设计
要求学生以《数字图像处理》课程中所讲授的知识,采用 Visual studio, QT 等开发环境,结 OpenCV 开源图像处理库设计并实现一个简易的数字图像处理软件。
一、课程设计主要内容
1、实现一个基础的图像处理软件(C,D 档) 基本功能要求:能打开图像文件、显示图像、存储处理后图像,有对图像进行灰度化、二值化(阈值可调)、3×3 均值滤波、3×3 中值滤波、拉普拉斯 4 领域锐化、边缘检测、以及直方图计算与显示功能。参考《数字图像处理》课程教学资料、OpenCV 文档以及《OpenCV 4 计算机视觉项目实战(第二版)》Chapter 4,可以采用自编函数或 OpenCV 中相关函数实现。
其它要求:
可以选择 C++/Java/Python/Javascript 语言以及相应的开发环境开发桌面/WEB/移动 APP/小程序。
在开发环境中项目或工程名称要求:DIPCD_学生姓名的拼音(不含空格)有菜单、工具条,支持快捷键,自己设计的图标(借助美图秀秀、Photoshop 等);主窗口标题含有自己学号和姓名。
需利用消息提示对话框,并含有“关于本软件对话框(标注自己姓名学号)”,消息对话框图标要求自己定制。
2、带有视频图像处理功能(在 1 的基础上选做,B 档):可以对每帧视频帧进行灰度化、二值化、3×3 均值滤波、3×3 中值滤波、拉普拉斯 4 邻域锐化操作,测试视频时长不少于 10 秒,视频也可以采用直接访问自身笔记本摄像头形式。参考《数字图像处理》课程教学资料、OpenCV 文档以及《OpenCV 4 计算机视觉项目实战(第二版)》Chapter 4,可以采用自编函数或 OpenCV 中的相关函数实现。
3、附加功能(在 2 的基础上选做任意一个,A 档)
A. 对图像实现基于颜色空间变换的图像增强。将 RGB 图像转换到 HIS/HSV 颜色空间,对亮度进行灰度增强,然后再转换回 RGB 空间。参考 OpenCV 文档,以及《OpenCV 4 计算机视觉项目实战(第二版)》中 Chapter 4.5。
B. 对图像实现频率域图像增强。在将图像从空域转换频率域,在频率域实现图像的平滑或锐化,然后再从频率域转换回空间域。参考 OpenCV 中频率域处理相关知识。以及[P04 图像的快速傅里叶变换及其应用] (https://www.bilibili.com/video/BV1mp4y1X73u/)
C. 视频中检测人脸面部并覆盖面具。采用 OpenCV 中 harrcascade 检测框架检测人脸并实时覆盖面具。参考 OpenCV 文档以及《OpenCV 4 计算机视觉项目实战(第二版)》Chapter 7。
D. 视频中使用高斯混合方法检测前景目标。采用 OpenCV 中的高斯混合方法对背景进行建模,从而采用背景减法检测前景目标对象。参考 OpenCV 文档以及《OpenCV 4 计算机视觉项目实战(第二版)》Chapter 8。
E. 视频中构建交互式对象跟踪器。随意挑选一个对象后,自动提取颜色特征,并在视频中自动跟踪此颜色对象。参考 OpenCV 文档以及《OpenCV 4 计算机视觉项目实战(第二版)》Chapter 9。
F. 对图像使用 Tesseract 进行文本识别。结合 OpenCV 与 Tesseract 光学字符识别库进行文字分割与识别。参考 OpenCV 文档以及《OpenCV 4 计算机视觉项目实战(第二版)》Chapter 10、11。
G. 图像或视频中使用 YOLO 实现实时对象检测。在 OpenCV 中使用深度学习对象检测模型 YOLO,实现图像或视频中实时对象检测。参考 OpenCV 文档以及《OpenCV 4 计算机视觉项目实战(第二版)》Chapter 12。
界面预览
项目备注
1、该资源内项目代码都经过测试运行成功,功能ok的情况下才上传的,请放心下载使用!
2、本项目适合计算机相关专业(如计科、人工智能、通信工程、自动化、电子信息等)的在校学生、老师或者企业员工下载学习,也适合小白学习进阶,当然也可作为毕设项目、课程设计、作业、项目初期立项演示等。
3、如果基础还行,也可在此代码基础上进行修改,以实现其他功能,也可用于毕设、课设、作业等。
下载后请首先打开README.md文件(如有),仅供学习参考, 切勿用于商业用途。