袁建英 李思仪 吴思东 刘甲甲 郭德全
摘 要:针对图像傅里叶变换数学公式复杂、概念抽象、不易理解的特点,设计了图像傅里叶变换教学辅助软件。软件基于Python框架,对图像傅里叶变换教学中原理引入、实质理解、傅里叶变换性质、代码与学习链接等进行了设计与实现。使用该软件进行教学,学生能直观地感受图像傅里叶变换各频谱计算细节,提高学生对抽象图像傅里叶变换公式的理解,提高教学效果。
关键词:教辅软件;图像傅里叶变换;频谱理解;Python
“数字图像处理”是电子信息、人工智能类专业一门重要的专业必修课[12]。频域图像处理是该课程的重要组成部分。图像傅里叶变换又是频域图像处理的基础[3]。由于二维图像傅里叶变换理论性强、公式抽象、数学推导烦琐,传统的教学方式容易导致教学过程枯燥乏味,学生对二维傅里叶变换及其性质,以及图像傅里叶变换的应用等知识理解不深刻,进而影响频域数字图像处理的学习。对此,许多高校进行了数字图像傅里叶变换教学方面的探索。朱亚培等[4]探讨了傅里叶变换在数字图像处理中的教学方法;将数字图像处理中的频率域图像低通滤波过程实施到信号与系统的教学中。马晓凯等[5]针对图像处理二维离散傅里叶变换的理论基础、物理意义和基本原理,对图像增强、去噪等应用进行了阐述。林冬梅等[6]针对频谱中心化及频谱原点的物理意义,结合科研案例进行了讲解和分析。赵洁等[7]对频谱概念的建立及相应的教学方法进行了讨论。吴幸智等采用教学辅助软件,对图像信息处理课程开展启发式教学,有效地帮助学生理解抽象理论知识[8]。孙鹏崴等基于Matlab GUI设计涵盖图像处理课程的软件系统,可以很好地辅助教师授课[9]。虽然这些已有研究对图像傅里叶变换教学提出了一些思路,但笔者在教学过程中发现学生最难理解的就是时域图像和频域频谱的关联关系。由于频谱图像的抽象性,单靠教师口头分析很难让学生有直观地感受,因此笔者所在的“图像处理与机器视觉”教学课程组开发出针对图像傅里叶变换的教辅软件,解决教学过程中傅里叶变换概念深入浅出引入、傅里叶变换计算实质与傅里叶变换性质可视化展示等教学难点。软件经过一年的试用,取得了较好的教学效果。下面给出该教辅软件的设计思想和实现过程。
一、系统设计
图像傅里叶变换的教学难点有3个:图像傅里叶变换概念的引入、图像傅里叶变换频谱特征认识、图像傅里叶变换性质及应用。针对这3个难点,设计相应界面,为便于学生课前课后预习和复习,再设计代码与学习链接界面。系统总体设计方案如图1所示。
二、系统实现
软件主要采用Python语言的pyqt5包进行实现,使用PyCharm构建虚拟环境进行编译。通过在PyCharm中加入拓展工具QtDesigner进行软件界面搭建,并在编写的.py文件中创建Stats类,通过uic.loadUi()函数调用搭建好的界面进行功能函数编写,实现软件界面各功能动态分离式设计。各功能界面实现方法如下。
(一)原理导入界面
原理导入部分需以生活中学生易理解的常见例子入手。学生在前序课程(如“高等数学”“信号与系统”)中对一维傅里叶变换非常熟悉。因此,在此处先设计一个具体的一维傅里叶变换例子作为引例。由于音频信号是一维信号,且可以通过软件方便的产生标准正弦音频信号,故使用Adobe Audition软件分别生成294HZ、349HZ、440HZ的标准正弦信号及其叠加信号。同时在界面上动态展示傅里叶级数分解过程,并用文字静态说明傅里叶变换的原理。所设计的界面如图3所示。
(二)傅里叶变换认识
傅里叶变换认识一共设计2个菜单。菜单1用于展示傅里叶变换公式认识、菜单2用于展示典型图像傅里叶频谱对比、傅里叶变换性质。
1.傅里叶变换公式认识
图像傅里叶变换的数学公式如式(1)所示,其中M,N
为图像的大小,fx,y为时域图像,Fu,v为fx,y的傅里叶变换。
Fu,v=1MN∑M-1x=0∑N-1y=0fx,ye-j2πuxM+vyN(1)
u=0,1...M-1;v=0,1...N-1
对其指数部分利用欧拉公式展开后,可得:
F(u,v)=1MN∑M-1x=0∑N-1y=0f(x,y)
cos2πuxM+vyN+jsin2πuxM+vyN(2)
对图像傅里叶变换的理解即是对公式(2)的理解,当u,v为定值时,公式(2)可视为原始图像与两个余弦函数卷积运算。因此,二维余弦函数公式的展示就是理解傅里叶变换的关键。为此,设计频谱窗口,窗口的横坐标表示u,纵坐标表示v,通过滑条拉动u,v值,实时的显示此时傅里叶变换的幅值Fu,v及对应的余弦函数图像。每一个u,v值,将对应一个Fu,v和余弦函数图像。当u,v值较大时,余弦函数的周期较小,和原始图像卷积将选择出原始图像中高频特征。当u,v值较小时,余弦函数的周期较大,和原始图像卷积将选择出原始图像中低频特征。
傅里叶变换公式认识界面如图3所示。该界面的主要功能包括:读入图像、傅里叶变换相关参数定义、傅里叶变换具体频率处频谱幅值实时显示、傅里叶变换具体频率处余弦图像实时显示。教师在讲解时可采用如下步骤:(1)通过界面右上方读入图像按钮读入图像,即显示原始图像和频谱图像;(2)傅里叶频谱值分析。界面左边中间部分傅里叶变换频谱图及含有参数u,v的滑动条;结合公式(2),给学生分析当滑动条上u,v值固定后,其频谱幅值就能计算出。然后教师可拖动滑动窗口上u,v值,频谱幅值便实时的显示在频谱图下方。(3)由式(2)可知,傅里叶变换u,v值确定后,其值等于原始图像和一个二维余弦函数的卷积运算,在软件的右下方实时显示了该余弦函数图像。教师可通过拖动u,v滑动条实现不同u,v值下余弦函数的性质分析。在右下方還有一个“3DDISPLAY”按钮,点击此按钮会在弹出页面中显示对应余弦图像的三维形式。
2.典型图像傅里叶频谱
典型图像傅里叶频谱分析有助于学生理解时域图像和频域频谱图关联关系。由于从傅里叶变换频谱中可以
看出图像包含的频率成分,故不同图像频谱不同。为此,在界面上设计2行3列的图像对比窗口,对比显示3幅图像的傅里叶变换频谱图,加强学生对不同图像傅里叶变换特点的认识。所实现的界面如图4所示。在图4中,第一行给出了3幅典型图像的示例,分别为含有周期性噪声的电路板图像、由黑到白渐变图像、存在大量45度方向斜线的图像;第二行给出了3幅图像对应的傅里叶变换频谱图,在教学时通过对频谱图的分析,让学生可直观地感受到图像频谱图较亮的部分实际反映了图像中灰度变化的方向以及变化的剧烈程度。
3.傅里叶变换应用——频域滤波
为展示频域高通、低通滤波特性,在界面上创建2行3列图像框。第1行用于显示原始图像、高通滤波后的图像、低通滤波后的图像;第2行用于显示原始图像频谱、高通处理后的频谱、低通处理后的频谱。所实现的界面如图5所示。从图5可见,图像经过高通滤波后,只留下了图像的边缘或轮廓部分;图像经过低通滤波后,图像变得很平滑。在软件右边,对软件展示的内容进行文字分析,方便学生课后复习。
(三)傅里叶变换性质界面
图像傅里叶变换性质很多,此处选择较为简单的平移不变性、旋转不变性进行设计。在一个界面上设计若干对比图像框,分别展示不同平移量、旋转量对应的频谱图,以此帮助学生直观地理解傅里叶变换性质。在界面右边,配上对结果的理论分析说明,方便学生课前课后的预习和复习。界面如图6所示。学生通过该界面,可以很直观的看到虽然目标发生了变化,但是图像的频谱并没有变化。
(四)代码及学习链接界面
展示图像傅里叶变换的代码,并提供自学的参考链接。界面如图7所示。
(五)软件应用
本教学辅助设计软件可实现的教学功能包括:图像读入、图像任意u,v值处傅里叶变化幅度值显示及对应的余弦函数图像显示、典型图像傅里叶幅度值对比显示、傅里叶变换滤波应用、代码展示及学习链接。软件内容囊括了图像傅里叶变换教学的大部分内容,既可以用于教师教学使用,也可用于学生预习复习使用。经过在成都信息工程大学自动化学院《图像处理与机器视觉》一年的试用,学生普遍反映对图像傅里叶变换的理论能获得直观的理解,增强了学生学习该课程的兴趣。
结语
本文基于Python设计开发了图像傅里叶变换教学辅助软件,并应用于我校“图像处理与机器人视觉”课程。教学效果表明,本软件能提供图像傅里叶变换数学公式的可视化理解,图像傅里叶变换性质的可视化对比分析理解,在方便教师授课的同时,大大地激发了学生对傅里叶变换学习的兴趣。同时,软件提供了傅里叶变换u,v方向滑块交互式操作的功能,可以实时得到任意图像任意u,v值频谱幅值,进而能方便分析不同图像的频谱特性。利用该软件进行教学,解决了多年来学生对图像傅里叶变换无法直观学习的困难,提高了教学效果。
参考文献:
[1]邱燕玲.基于混合学习模式的图像处理课程教学改革探索[J].科技风,2022(07):109111.
[2]王文胜,孙巍伟,李启光,等.项目驱动下的图像处理技术与应用课程实验教学设计[J].中国现代教育装备,2022(11):124126.
[3]冈萨雷斯.数字图像处理:第3版[M].阮秋琦,阮宇智,译.北京:电子工业出版社,2017.
[4]朱亚培,龙祖强,刘灿.傅里叶变换在数字图像处理中的教学方法探讨[J].轻工科技,2016,2:165166.
[5]马晓凯,付禹.浅谈傅里叶变换在图像处理中的应用[J].科技资讯,2018,16(08):8081.
[6]林冬梅,杨富龙,陈晓雷.案例讲解图像傅里叶变换[J].教育现代化,2019,6(70):211214.
[7]赵洁,张艳,张众维,等.“数字图像处理”课程中频谱概念的建立及其教学方法探讨[J].2019,25(5):371374.
[8]吴幸智,吴峰,范君柳.采用教学辅助软件,开展启发式教学[J].软件,2021,42(1):1518.
[9]孙鹏崴,王俊,王树军,等.基于MATLAB GUI的图像处理系统的设计[J].计算机技术与发展,2022,32(04):215220.
项目基金:本文系四川省高等教育人才培养质量和教学改革项目《引入竞赛知识元素的机器人工程专业科技创新实践体系构建》(项目编号:JG20211006);成都信息工程大学本科生教学改革工程项目“《机器视觉及应用》教学方法研究与实践”(编号:JYJG2022049);“应用型示范机器人工程本科专业建设与实践”(编号:JYJG2021005);“学科竞赛驱动、科研引领的机器人工程专业科技创新实践体系构建”(编号:JYJG2022133);“《智能控制》教学方法的研究与实践探索”(编号:JYJG2021044)
作者简介:袁建英(1982— ),女,汉族,四川眉山人,博士,副教授,研究方向:机器视觉;李思仪(2001— ),女,四川达州人,本科生,研究方向:图像处理;吴思东(1989— ),男,汉族,四川南充人,博士,講师,研究方向:计算机视觉;刘甲甲(1983— ),男,汉族,安徽淮北人,博士,讲师,研究方向:机器视觉与工业智能;郭德全(1982— ),男,四川隆昌人,博士,副教授,研究方向:图像处理与智能计算。