基于 MATLAB 实现的图像信号处理

♻️ 资源

大小: 7.64MB

➡️ 资源下载: https://download.csdn.net/download/s1t16/87425293

一、 常用图像处理算法简介

  1. 二维离散傅立叶变换
  1. 二维离散小波变换

  2. 二维离散余弦变换

二、 峰值信噪比简介

PSNR (Peak Signal to Noise Ratio) 峰值信噪比PSNR衡量图像失真或是噪声水平的客观标准。2个图像之间PSNR值越大,则越相似。普遍基准为30dB,30dB以下的图像劣化较为明显。定义为,

这里MAX表示图像颜色的最大数值,8bit图像取值为255。我们还要介绍MSE(均方差),即m×n单色图像 I 和 K(原图像与处理图像)之间均方误差,定义为:

三、 代码实现与解释

三种变换及峰值信噪比均使用MATLAB实现。

  1. 傅立叶变换

利用fft2()函数进行傅里叶变换,利用fftshift()函数调整fft2()函数的输出顺序,将零频位置移到频谱的中心。

  1. 一级小波分解

利用dwt2()函数进行一级小波分解。

  1. 二级小波分解

利用dwt2()函数进行一级小波分解后,

对ca1再次分解,得到二级小波分解。

  1. 离散余弦变换

利用dct2()函数进行离散余弦变换。

  1. 峰值信噪比

先自定义一个psnr()函数。

然后调用测试两幅图像的相似程度。

四、 实验结果

  1. 傅里叶变换

图(a)为lena的二值图像,对其做傅里叶变换得到图(b)幅度谱,以及图(c)立体分布。

  1. 一级小波分解

对lena的灰度图像进行小波分解,再伪彩色处理,共四部分:近似部分、水平方向细节部分,垂直方向细节部分和对角线方向细节部分。

  1. 二级小波分解

对一级小波分解的近似部分再进行小波分解,可得到二级小波分解。

  1. 离散余弦变换

图(a)为lena的二值图像,对其做离散余弦变换得到图(b)幅度谱,以及图(c)立体分布。

  1. 峰值信噪比

左图为原图,右图为改变图像,中间为计算的峰值信噪比,其中,上面的是彩色的,下面的是灰度的。

五、 参考文献

1 PentatonicScale,图像处理PSNR及其计算(OpenCV和matlab实现),http://blog.csdn.net/laoxuan2011/article/details/51519062.

相关推荐
微学AI10 小时前
一根针指向所有方向:挂谷猜想对 LLM Agent 技能-记忆架构的启示
开发语言·人工智能·架构·挂谷猜想
豆瓣鸡10 小时前
算法日记 - Day3
java·开发语言·算法
韭菜炒鸡肝天11 小时前
VTK开发笔记(一):VTK介绍,Qt..+VSx+VTK.编译
开发语言·笔记·qt
Aaron - Wistron11 小时前
Web API C# (Furion版)带 单元测试
开发语言·后端·c#
Dxy123931021612 小时前
Python项目打包成EXE完整教程(PyInstaller实战避坑)
开发语言·python
05664613 小时前
Python康复训练——常用标准库
开发语言·python·学习
骊城英雄13 小时前
基于C#+avalonia ui实现的跨平台点胶机灌胶监控控制上位机软件
开发语言·ui·c#
吾儿良辰13 小时前
一个被BCL遗忘的高性能集合:C# CircularBuffer<T>深度解析
开发语言·windows·c#
昆曲之源_娄江河畔13 小时前
Python如何安装flask, pymssql
开发语言·python·flask·pymssql
Leighteen14 小时前
`try-finally` 里的 `return`:为什么 `finally` 会悄悄改掉返回值、吞掉异常
java·开发语言