基于matlab的数字图像处理软件设计

153
0
2020年12月18日 09时20分

文章目录

 

    • 1.总体功能概述
    • 2.功能介绍
      • 2.1基本操作
      • 2.2图像类型变换
      • 2.3图形几何变换
      • 2.4图像变换
      • 2.5图像添加噪声
      • 2.6图像复原
      • 2.7图像增强
      • 2.8图像分割
      • 2.9图像编码
      • 2.10二值形态学处理
      • 2.11小波图像处理
      • 2.12数字图像处理应用
    • 3. 项目总结

 

1.总体功能概述

 

本图像处理软件总的包括基本操作、图形类型变换、图形几何变化、图像变换、图像添加噪声、图像复原、图像增强、图像分割、图像编码、二值形态学处理、小波图像处理、数字图像处理应用、帮助(如下图红框所示);另外在界面右下方时间实时显示。(如下图蓝框所示)。

 

微信图片_20201216230535

 

下面一长图(建议放大看)为本设计软件的所有功能,共分13模块,具体为107个功能,功能都经过了测试,除文中特别说明的外,功能基本稳健,操作也仅是按需操作,根据提示即可,并且中文就每个模块功能操作都进行了说明,操作复杂的地方,并配置了相应的演示。

 

微信图片_20201216230548

 

2.功能介绍

 

2.1基本操作

 

基本操作功能模块具体包括:打开、存储、撤销、初始化、打印、关闭、查看,另为这些基本操作设计有快捷键,如 打开—— Ctrl + O,具体如下图蓝框内容所示:

 

微信图片_20201216230601

 

这里选取打印和查看功能进行演示,其余功能理解操作较为简单便不做赘述。
在打印预览中可自动也可手动输入数值或者拖动右边上下想垂直的两个数轴调节图像布局,如下图所示:

 

微信图片_20201216230625

 

在查看功能中,将会在命令行窗口输出关于这幅图像的名字大小等信息如下图所示:

 

微信图片_20201216230640

 

2.2图像类型变换

 

图像类型变换模块主要包括:Im2bw、RGB2gry、RGB2ind等变换具体如下图蓝框内容所示,其功能根据其名字便可知,例如本软件的初始界面便对一个彩色图像做了RGB2gry,使其从彩色图像变成灰色图像。

 

需特别解释的是,mat显示功能是对一个.mat采用Load加载方式读出,需将待读取的文件置于现操作文件夹,或直接修改路径,具体如下图所示:

 

微信图片_20201216230655

 

其余功能按照需求直接使用即可,便不进行一一展开演示。

 

2.3图形几何变换

 

图像类型变换模块主要包括:旋转、缩放、镜像、平移、剪裁。
其中旋转和缩放又包括最邻近插值法、双线性插值法、双三次插值法;镜像又包括水平方向、垂直方向和对角方向。并且旋转和缩放的三种方式均支持参数输入,以旋转为例,如下图所示。

 

微信图片_20201216230713

 

另以对角镜像变化举例演示,结果如下:

 

微信图片_20201216230731

 

其余功能按照需求直接使用即可,便不进行一一展开演示。

 

2.4图像变换

 

图像变换模块主要包括:FFT、二位离散余弦变换、Hough变换、Radon变换、基于Hough的直线检测,以及正方形检测功能,如下图蓝框内容所示:

 

微信图片_20201216230750

 

以正方形检测为例进行演示,结果会有三幅图像,分别是依次对原图做取反、膨胀、目标正方形匹配的结果图

 

微信图片_20201216230854

 

其余功能按照需求直接使用即可,便不进行一一展开演示。

 

2.5图像添加噪声

 

图像添加噪声模块包括:高斯白噪声、椒盐噪声、斑点噪声、泊松噪声、用Randn函数产生噪声、生成运动噪声、SNR计算 ,如下图蓝框内容所示:

 

微信图片_20201216230914

 

高斯白噪声——>生成运动模糊图像均支持参数输入,按照需要可以直接输参对图像操作,下面只演示SNR计算

点击SNR计算功能按键显示的图像为操作后的图像与原图的差,SNR计算值则可以在工作区查看,SNR=B1/C1。

 

2.6图像复原

 

图像复原模块包括:空间滤波复原 ,逆滤波复原等。

 

以上所有功能根据需求直接使用即可,需特别说明的是,最小二乘滤波复原等须事先生成运动模糊图像,造作不当时,软件也会跳出相应的提示对话框,至于三滤波对比其操作结果如下,第二幅图显示均是对加了椒盐噪声滤波的结果。

 

微信图片_20201216230933

 

2.7图像增强

 

图像增强模块包括:空间滤波增强 ,空间滤波增强等,具体如下图蓝框内容所示:

 

微信图片_20201216230952

 

以上功能除轮廓图的生成具有一定失败率,其余功能较为强健,按照需要直接操作即可,直方图规定化是从文件夹读取一个规定直方图或图像;轮廓图的生成经试验,对彩色图像灰度化后处理是100%成功的,其余灰度图像有一定失败率。一个处理实例如下图。

 

2.8图像分割

 

图像分割模块包括:基于阈值分割,边缘检测,四叉树分割,区域生长法分割等,具体如下图蓝框内容所示:

 

微信图片_20201216231057

 

以上所有功能根据需求直接使用即可,需特别说明的是,关于区域生长法分割提示对话框不会停留界面很久会自动进去后台,即会闪现,可以在任务栏点出,如下图,

 

微信图片_20201216231118

 

下面给出了区域生长法和四叉树分割两个造作的演示及结果。

 

微信图片_20201216231137

 

微信图片_20201216231145

 

四叉树分割处理结果如下

 

微信图片_20201216231210

 

2.9图像编码

 

图像分割模块包括:霍夫曼编码、香农-费诺编码。

 

以霍夫曼为例演示,huffman.txt存放的是原码,huff_compara.txt存放的霍夫曼编码,如下图所示

 

微信图片_20201216231235

 

2.10二值形态学处理

 

图像分割模块包括:腐蚀、膨胀、开闭运算、欧拉数计算等,具体如下图蓝框内容所示:

 

微信图片_20201216231303

 

2.11小波图像处理

 

图像分割模块包括:单层二维离散小波重构、多层二维离散小波重构等,具体如下图蓝框内容所示:

 

微信图片_20201216231328

 

2.12数字图像处理应用

 

图像分割模块包括:水印技术实现、图像倾斜校正、人脸识别技术、车牌自动识别技术如下图蓝框所示,

 

微信图片_20201216231350

 

下面就人脸识别技术原理及操作做相关讲述,此设计的人脸识别技术是基于肤色(主要偏向于棕黄肤色),1.所以要求待识别的图像须是彩色图像,并且由于是基于肤色,会有一定几率误判2.该技术还有待改进的地方,目前最多只能识别两人以内的脸同框,否则不能保证正确率想,下面就上述所提到的问题,用具体的进一步说明。

 

两人以下的识别,功能还是比较强健的,如下图

 

微信图片_20201216231418

 

面的图识别由差错,把衣服颜色和黄棕色接近造成误导。

 

微信图片_20201216231501

 

2.13帮助

帮助模块是跳出如下对话框,显示我的QQ邮箱,用于问题联系。

 

微信图片_20201216231528

 

3. 项目总结

 

此为数字图像处理课程设计作业,本来一开始打算用vs open cv来做,但是搭建框架首先,有些功能处理函数只有处理256*256规格函数功能才是正常,后面遂改用matlabGUI重新搭建改系统。

 

整个过程难点在于应用部分的人脸识别和车牌识别吧,功能可以实现,但是效果不能达到百分之百理想,总会收到采用的设计思想,算法局限,比如人脸识别模块,算法核心点在于人脸颜色识别,对于黄棕色皮肤识别效果较好,但是对黑色肤色可能就不好,而且还会受到衣服干扰,需改进。

 

总之,这次设计项目是对课堂所学内容一次很好的实践运用,能够通过代码把功能实现,那些变换原理自然而然就随之理解了。

 

资源链接

发表评论

后才能评论