基于 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.

相关推荐
Hanniel7 分钟前
Python 元类(下):进阶与实战建议
开发语言·python
会编程的土豆10 分钟前
Go interface 底层的 itab 到底是什么
开发语言·后端·golang
千纸鹤の脉搏15 分钟前
多线程的初步了解---进程与线程
java·开发语言·学习·线程
秋田君37 分钟前
Qt 5.12.8 下载与安装教程(附网盘资源)
开发语言·qt
故事和你9141 分钟前
洛谷-【动态规划2】线性状态动态规划4
开发语言·数据结构·c++·算法·动态规划·图论
不吃土豆的马铃薯43 分钟前
Socket 网络编程实战教程
linux·服务器·开发语言·网络·c++·算法
小成202303202651 小时前
从C到C++
开发语言·c++
折哥的程序人生 · 物流技术专研1 小时前
《Java 100 天进阶之路》第39篇:Java泛型方法的定义和使用
java·开发语言·后端·面试·求职招聘
天天进步20151 小时前
Tunnelto 源码解析 #1:从 tunnelto --port 8000 看内网穿透的完整链路
开发语言
Evand J1 小时前
【代码介绍】RSSI定位程序,N个锚点、三维空间,使用CKF对轨迹进行滤波,MATLAB代码
matlab·滤波·定位·三维