网站大量收购独家精品文档,联系QQ:2885784924

使用Qt和OpenCV做的图像低通滤波器.doc

  1. 1、本文档共10页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
使用Qt和OpenCV做的图像低通滤波器

目 录 第1章 相关知识 1 1.1 OpenCV 1 1.2 Qt 1 1.3 数字图像低通滤波 1 第2章 设计方案 2 2.1功能模块 2 2.1.1载入图片 2 2.1.2处理图片 2 2.1.3保存图片 2 2.2文件模块 2 2.2.1 mainwindow.h文件和mainwindow.cpp文件 2 2.2.2 mainwindow.ui文件 2 2.2.3 main.cpp文件 3 2.2.4 opencv_and_qt.pro文件 3 第3章 源代码 4 3.1 mainwindow.h 文件 4 3.2 mainwindow.cpp文件 5 3.3 mainwindow.ui文件 6 3.4 main.cpp文件 9 3.5 opencv_and_qt.pro文件 9 第4章 结果分析 12 4.1 程序界面 12 4.2浏览 13 4.3处理 14 4.3.1原图片 14 4.3.2结果图片 15 4.4保存文件 16 第5章 结束语 17 参考文献 18 第1章 相关知识 目前进行数字图像处理有两类方法,一种是使用MATLAB,另一种是使用OpenCV。本次课设我使用OpenCV实现图像处理功能,使用Qt做界面,编程语言选择C++。 1.1 OpenCV OpenCV是一个开源的、跨平台的计算机视觉库。与MATLAB相比,OpenCV运行速度快、可免费用于学术和商业上使用,易于嵌入到应用程序中。 1.2 Qt 在程序的界面设计部分,我使用Qt。Qt是一个开源的、跨平台的图形用户界面应用程序开发框架,使用者需遵守LGPL 2.1 。 1.3 数字图像低通滤波 如果以图像灰度变化快慢的角度来分析图像,则属于频域分析。如果以图像灰度的空间分布来分析图像,则属于空间域分析。 当我们进行频域分析时,图像的灰度变化缓慢的区域对应于低通部分,反之则对应于高通部分。 低通滤波器就是去掉图像的高频部分,保留低频部分。 本次课设中我使用了OpenCV的blur函数,其算法原理是求出像素的邻域的灰度平均值作为像素的输出值,模板大小可以有参数指定。这种方法叫做邻域平均法,是图像的灰度变化减慢,属于低通滤波。 第2章 设计方案 由于在程序的实现中,各功能模块混合在了一起。所以我将功能模块和文件模块分别介绍。 2.1功能模块 2.1.1载入图片 将原始图片载入到程序中。 2.1.2处理图片 对原始图片进行低通滤波处理。 2.1.3保存图片 将处理后的结果保存到指定位置。 2.2文件模块 2.2.1 mainwindow.h文件和mainwindow.cpp文件 用于实现MainWindow类。这个类既实现了界面的创建,又实现了图像的低通滤波功能。 2.2.2 mainwindow.ui文件 用于辅助设计界面。如果单纯用代码来实现界面,很不方便。所以我使用Qt Creator(这是Qt官方的IDE)的设计功能,通过鼠标对控件拖拽,自动生成了mainwindow.ui文件的代码。此文件实现了按钮控件的创建和位置设置。 2.2.3 main.cpp文件 实现了程序的主函数main函数。 2.2.4 opencv_and_qt.pro文件 对Qt项目进行了配置,使Qt和OpenCV可以同时使用 第3章 源代码 3.1 mainwindow.h 文件 #ifndef MAINWINDOW_H #define MAINWINDOW_H #include QMainWindow #includeQFileDialog #includeopencv.hpp using namespace cv; namespace Ui { class MainWindow; } class MainWindow : public QMainWindow { Q_OBJECT public: explicit MainWindow(QWidget *parent = 0); ~MainWindow(); private: Ui::MainWindow *ui; Mat image; //载入的原始图片 Mat result; //处理后的图片 private slots: void liulan(); //载入图片 void chuli(); //对图片进行低通滤波 void baocun(); //保存图片 }; #endif // MAINWINDOW_H 3.2 mainwindow.cpp文件 #include mainwindow.h #include ui_mainwindow.h MainWindow::MainWindow(QWidget *par

您可能关注的文档

文档评论(0)

zhuliyan1314 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档