关于图像处理方面论文范文例文 与《数字图像处理》课程的实验系统类毕业论文模板范文

本文关于图像处理论文范文,可以做为相关论文参考文献,与写作提纲思路参考。

《数字图像处理》课程的实验系统

摘 要:数字图像处理这门课程的实践性很强,在教学过程中,不仅做到各种图像处理算法的详细讲解,而且还要结合实验系统进一步帮助学生形象、直观的理解相关知识.这种教学内容,提高了学生的学习兴趣,而且把理论的学习融入到实际的问题解决中,极大的调动了学生的主动性和积极性.本文结合VC++语言,设计了一个实验系统,并经过各种算法的自行设计,得以证明,系统达到预期的功能.

关键词:数字图像处理;软件设计;实验教学

中图分类号:G434 文献标志码:A 文章编号:1674-9324(2018)50-0277-02

一、引言

图像处理是一门多交叉学科,它涉及了计算机、数学知识、信号处理等方面的课程,该课程要求学生掌握基本的图像处理理论和算法.在授课过程中,常常需要结合特定的物理学、仿生学理论进行数学理论的推导,但是如果一味地讲解相关理论和算法,就会导致授课过程乏味,而且给学生学习该门课程带来很大的困难,更不要说把所学得知识和实际的应用联系起来.

鉴于图像处理这门课程较强的实践性,如果在教学过程中,结合计算机程序设计来验证各种算法的有效性,不仅使学生较直观地领会了各种算法,而且激发了学生的学习兴趣和参与热情,为培养学生动手实践能力奠定了一定的基础.

二、图像处理系统的实现

图像处理所涉及的内容:图像基本处理、几何变换、图像频域处理、图像增强、图像分割和边缘检测、图像复原等内容.

1.软件开发工具的选择.图像处理实现的手段比较多,比如Matlab、C++等开发环境,但是考虑C++语言具有良好的开发环境支持,以及VC++开发的产品与Windows操作系统具有很好的“亲和力”,所以它在开发数字图像处理方面占据着极其重要的地位.

数字图像处理作为一门实践性较强的课程,学生通过编程实践来理解和领会图像处理的各种算法.

2.图像软件设计中的技巧.虽然MFC提供了可视化的编程界面元素,但是在图像处理方面,由于没有提供支持DIB位图的类,所以为了使用方便,采用了面向对象技术,定义了一个与设备无关的类CImage,在该类中封装了DIB位图处理所需的基本成员变量和成员函数.(1)系统背景设置.本系统是建立在多文档基础上,那么对于多文档应用程序的背景设置,需要经过下面的步骤:

1)用ClassWizard生成一个CWnd类的派生类CClientWnd;

2)添加消息WM_ERASEBKGND,并在其关联的函数中OnEraseBkgnd()添加代码:

BOOLCClientWnd::OnEraseBkgnd(CDC* pDC)

{ //定义位图对象

//加载位图资源,并把位图选入内存环境中

//位图屏幕显示}

3)添加WM_SIZE消息,在其关联函数中完成窗口

的重绘;

4)自定义重载的虚函数用来返回函数指针:

WNDPROC *CClientWnd::GetSuperWndProcAddr

()

{static WNDPROC NEAR pfnSuper 等于 NULL;

return &pfnSuper;}

5)在CMainFrame类中定义一个CClientWnd 类的成员变量m_wndClient,并在CMainFrame 的OnCreate函数中把m_wndClient子类化为主框架窗口的客户窗口.

代码如下:

if (!m_wndClient.SubclassWindow(m_hWndMDIClient))

{

TRACE("Fail to subclass MDI client window\n");

return -1;}

(2)软件操作的设计.在软件设计过程中,采用菜单操作的方式达到各功能的实现.为了代码设计结构的简单和清晰,图像处理中对同类型的菜单,使用了一个函数响应多个选项的方法.比如在图像特效显示中,采用函数OnShowEffect()来处理自上而下扫描显示、自左向右扫描显示、栅格交错显示、百叶窗显示、马赛克显示.具体实现的方法是:

1)在视图类的头文件中定义特效显示的消息处理函数:

afx_msg void OnShowEffect(UINT nID);

2) 在视图类的实现文件的开头处,即BEGIN_

MESSAGE_MAP……END_MESSAGE_MAP宏之

间添加消息映射:

ON_COMMAND_RANGE(菜单选项ID,菜单选项

ID,菜单响应函数).

例如:ON_COMMAND_RANGE(ID_DOWN,

ID_MASAIK,OnShowEffect)

3)在视图类的末端手动加入函数OnShowEffect()

的定义:

void CImagProView::OnShowEffect(UINT nID)

{ ……

switch(nID)

{ case ID_UPDOWN://上到下显示

……

break;

case ID_LEFTRIGHT://左到右显示

……

break;

case ID_GRIDCROSS://栅格交错显示

……

break;

……}

这种方法,减少了代码的冗余,另外也可以达到代码结构的清晰.在软件设计中,该方法贯彻到始终,比如用OnGeometricPro()函数来完成图像几何处理,OnFrequencyPro()函数完成图像的频域处理;OnEnhancePro()函数完成图像的增强处理;OnSepEdgePro()函数完成图像的分割和边缘检测;OnRestorationPro()函数完成图像复原.

(3)图像处理中各算法的设计安排.该软件设计的是由《数字图像处理》这门课程的实验需求而启发,为了避免课程学习过于枯燥,学生可以在该系统的框架中添加各算法的实现代码,从而达到对其深刻地理解.

软件已完成图像处理总体框架的搭建,用户可通过菜单选项调用各算能.但须注意,图像处理的各种算法需要用户自行编写代码.为了方便期间,要求把算法实现代码放入到function.h的头文件中,以供需要时反复调用.function.h头文件结构:

void FFT_2D()//二维傅立叶变换

void IFFT_2D()//二维傅立叶逆变换

BOOL CosTran()//离散余弦变换

……

三、总结

在数字图像教学中,将实验内容和理论教学的有机结合,通过实验改革,让学生积极参与到实验教学中,一方面融会贯通课堂教学内容,另一方面通过实践使学生对抽象的理论有了进一步的理解.通过课题的实践,调动了学生学习的主动性和积极性,同时也培养了他们程序设计思想和动手等方面的能力.

图像处理论文范文结:

关于本文可作为图像处理方面的大学硕士与本科毕业论文图像处理论文开题报告范文和职称论文论文写作参考文献下载。