【图像重建】基于小波变换图像分解重建(PSNR对比)附matlab代码

✅作者简介:热爱科研的Matlab仿真开发者,修心和技术同步精进,matlab项目合作可私信。

🍎个人主页:Matlab科研工作室

🍊个人信条:格物致知。

更多Matlab仿真内容点击👇

智能优化算法       神经网络预测       雷达通信       无线传感器        电力系统

信号处理              图像处理               路径规划       元胞自动机        无人机 

⛄ 内容介绍

基于小波变换的图像分解和重建是一种常用的,其中峰值信噪比(Peak Signal-to-Noise Ratio,PSNR)常被用来评估重建图像与原始图像之间的质差异。以下是一种基本的基于小波变换的图像解和重建步骤,以及如何使用PSNR进行质量对比的方法:

  1. 选择合适的小波函数和分解层数。常见的小波函数包括haar、db1(Daubechies-1)、db2等,分解层数定义了图像分解的级别。

  2. 将原始图像应用小波变换,得到图像小波系数。这可以通过将图像分解为不同尺度和方向上的频带来实现。

  3. 根据需求,对小波系数进行处理,例如对低频系数进行细节清晰化、对高频系数进行压缩等。

  4. 使用处理后的小波系数进行图像重建,将系数应用逆小波变换。

  5. 计算重建图像与原始图像之间的PSNR,以衡量两者之间的图像质量差异。PSNR的计算公式为:PSNR = 10 * log10(MAX^2 / MSE),其中MAX是像素最值(通常为255),MSE是均方误差,用于衡量两幅图像之间的差异。

  6. 对比不同参数、不同小波函数或不同分解层数对重建图像质量的影响,通过PSNR值的变化来评估重建结果的好坏。

⛄ 部分代码

clear all;

X=imread('1.bmp','bmp');

subplot(321);imshow(X);

title('原始图像');

%三级小波分解及显示

[c,s]=wavedec2(X,3,'db2');

ca3=appcoef2(c,s,'db2',3);

ch3=detcoef2('h',c,s,3);

cv3=detcoef2('v',c,s,3);

cd3=detcoef2('d',c,s,3);

ch2=detcoef2('h',c,s,2);

cv2=detcoef2('v',c,s,2);

cd2=detcoef2('d',c,s,2);

ch1=detcoef2('h',c,s,1);

cv1=detcoef2('v',c,s,1);

cd1=detcoef2('d',c,s,1);

A2=[ca3*4,ch3*4;cv3*4,cd3*4]

%显示分解结果

k=s(2,1)*2-s(3,1)

ch2=padarray(ch2,[k k],1,'post');

cv2=padarray(cv2,[k k],1,'post');

cd2=padarray(cd2,[k k],1,'post');

A1=[A2,ch2*4;cv2*4,cd2*4];

k=s(2,1)*4-s(4,1)

ch1=padarray(ch1,[k k],1,'post');

cv1=padarray(cv1,[k k],1,'post');

cd1=padarray(cd1,[k k],1,'post');

A=[A1,ch1*4;cv1*4,cd1*4]

min=min(A(:));

max=max(A(:));

subplot(322);imshow(A,[min max]);

title('小波变换的三级分解图');

%尺度为1的低频分量重构

[c s]=wavedec2(X,3,'db2');

siz1=s(size(s,1),:);

ca1=appcoef2(c,s,'db2',1);

a1=upcoef2('a',ca1,'db2',1,siz1);

nbc1=size(X,1);

subplot(323);

RL1=wcodemat(a1,nbc1)

image(RL1);

title('LL1小波系数重构图')

%尺度为2的低频分量重构

[c s]=wavedec2(X,3,'db2');

siz2=s(size(s,2),:);

ca2=appcoef2(c,s,'db2',2);

a2=upcoef2('a',ca2,'db2',2,siz2);

nbc2=size(X,2);

subplot(324);

RL2=wcodemat(a2,nbc2)

image(RL2);

title('LL2小波系数重构图')

%尺度为3的低频分量重构

[c s]=wavedec2(X,3,'db2');

siz3=s(size(s,3),:);

ca3=appcoef2(c,s,'db2',3);

a3=upcoef2('a',ca3,'db2',3,siz3);

nbc3=size(X,3);

subplot(325);

RL3=wcodemat(a3,nbc3)

image(RL3);

title('LL3小波系数重构图')

% %LL1重构图像与原始图像峰值信噪比

PSNR1=psnr(X,RL1);

PSNR1=PSNR1

% %LL2重构图像与原始图像峰值信噪比

PSNR2=psnr(X,RL2);

PSNR2=PSNR2

% %LL3重构图像与原始图像峰值信噪比

PSNR3=psnr(X,RL3);

PSNR3=PSNR3

% %LL1重构图像与原始图像峰值信噪比

% [m,n]=size(RL1);

% mse=0;

% for i=1:m

%     for j=1:n

%         a=(X(i,j)-RL1(i,j))^2;

%         b=im2double(a);

%         mse=mse+b;

%     end

% end

% mse=mse/(256*256);

% PSNR1=10*log10((255*255)/mse)   

% %LL2重构图像与原始图像峰值信噪比

% [m,n]=size(RL2);

% mse=0;

% for i=1:m

%     for j=1:n

%         a=(X(i,j)-RL2(i,j))^2;

%         b=im2double(a);

%         mse=mse+b;

%     end

% end

% mse=mse/(256*256);

% PSNR2=10*log10((255*255)/mse)   

% %LL3重构图像与原始图像峰值信噪比

% [m,n]=size(RL3);

% mse=0;

% for i=1:m

%     for j=1:n

%         a=(X(i,j)-RL3(i,j))^2;

%         b=im2double(a);

%         mse=mse+b;

%     end

% end

% mse=mse/(256*256);

% PSNR3=10*log10((255*255)/mse)   

⛄ 运行结果

⛄ 参考文献

[1] 王翰林,周宇轩,王伟.基于curvelet变换快速迭代收缩阈值算法的压缩采样磁共振图像重建[J].北京生物医学工程, 2018.

[2] 叶双清,杨晓梅.基于小波变换和非局部平均的超分辨率图像重建[J].计算机应用, 2014, 34(4):5.DOI:10.11772/j.issn.1001-9081.2014.04.1182.

[3] 杨莹,牟轩沁,罗涛,等.基于小波变换的X射线图像超动态范围重建[C]//全国省.中国图象图形学会;中国体视学会;兰州交通大学, 2008.DOI:10.1360/972009-1549.

⛳️ 代码获取关注我

❤️部分理论引用网络文献,若有侵权联系博主删除
❤️ 关注我领取海量matlab电子书和数学建模资料

🍅 仿真咨询

1.卷积神经网络(CNN)、LSTM、支持向量机(SVM)、最小二乘支持向量机(LSSVM)、极限学习机(ELM)、核极限学习机(KELM)、BP、RBF、宽度学习、DBN、RF、RBF、DELM实现风电预测、光伏预测、电池寿命预测、辐射源识别、交通流预测、负荷预测、股价预测、PM2.5浓度预测、电池健康状态预测、水体光学参数反演、NLOS信号识别、地铁停车精准预测、变压器故障诊断
2.图像识别、图像分割、图像检测、图像隐藏、图像配准、图像拼接、图像融合、图像增强、图像压缩感知
3.旅行商问题(TSP)、车辆路径问题(VRP、MVRP、CVRP、VRPTW等)、无人机三维路径规划、无人机协同、无人机编队、机器人路径规划、栅格地图路径规划、多式联运运输问题、车辆协同无人机路径规划
4.无人机路径规划、无人机控制、无人机编队、无人机协同、无人机任务分配
5.传感器部署优化、通信协议优化、路由优化、目标定位
6.信号识别、信号加密、信号去噪、信号增强、雷达信号处理、信号水印嵌入提取、肌电信号、脑电信号
7.生产调度、经济调度、装配线调度、充电优化、车间调度、发车优化、水库调度、三维装箱、物流选址、货位优化
8.微电网优化、无功优化、配电网重构、储能配置
9.元胞自动机交通流 人群疏散 病毒扩散 晶体生长

 

  • 0
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值