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

相关推荐
LDR0063 天前
Type-C 快充全面升级!LDR6601 赋能个人护理便携电机,重塑剃须刀 / 理发器新体验
c语言·开发语言
雪碧聊技术3 天前
Tree.js是什么?一文讲透
开发语言·javascript·ecmascript
码云数智-园园3 天前
C++20 Modules 模块详解
java·开发语言·spring
xiao5kou4chang6kai43 天前
MATLAB机器学习、深度学习--从数据预处理到模型训练
深度学习·机器学习·matlab·数据预处理
swordbob3 天前
NIO的channel中什么是 fd(File Descriptor,文件描述符)
java·开发语言·nio
源分享3 天前
Java线程同步的多种实现方法(非常详细)
java·开发语言·jvm
Luminous.3 天前
C语言--day30
c语言·开发语言
何以解忧,唯有..3 天前
Go语言循环语句详解:for、range与循环控制
开发语言·算法·golang
謓泽3 天前
C语言不是语法,是通往机器的地图。
c语言·开发语言
云水一下3 天前
从零开始学 PHP 系列(一):PHP 的前世今生与开发环境搭建
开发语言·php