基于小波和插值的超分辨率图像重建算法

该博客介绍了如何使用MATLAB进行图像处理,包括通过四邻域方法创建低分辨率图像,然后采用双线性插值和最近邻域插值方法进行超分辨率重建。通过小波分解和重构技术,实现了图像的细节增强,最终展示了获得的超分辨率图像。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

clear all;
close all;
I1=imread('car1.bmp');
h=ones(4,4)/16;
I2=imfilter(I1,h);    %通过四邻域方法得到低分辨率的图像
figure(1);
imshow(I1),title('原始图像');
figure(2);
imshow(I2),title('低分辨率的图像'); 
%用双线性插值方法获得插值图像Y1
[Y1,map]=imresize(I2,2,'bilinear');
%用最近邻域插值得到邻域插值图像Y2
[Y2,map]=imresize(I2,2);
[c,s]=wavedec2(Y1,2,'haar');
sizey1=size(Y1);
%从小波分解的结构[c,s]中提取Y1第一层的尺度系数和小波系数
Xa1=appcoef2(c,s,'haar',1);
Xh1=detcoef2('h',c,s,1);
Xv1=detcoef2('v',c,s,1);
Xd1=detcoef2('d',c,s,1);
ded1=[Xa1,Xh1,Xv1,Xd1];
nbcol=size(map,1);
[c,s]=wavedec2(Y1,2,'haar');
sizey2=size(Y2);
%从小波分解的结构[c,s]中提取Y2第一层的尺度系数和小波系数
Xa2=appcoef2(c,s,'haar',1);
Xh2=detcoef2('h',c,s,1);
Xv2=detcoef2('v',c,s,1);
Xd2 =detcoef2('d',c,s,1);
ded1=[Xa2,Xh2,Xv2,Xd2];
nbcol=size(map,1);
Y=idwt2(Xa2,Xh1,Xv1,Xd1,'haar');

nbcol=size(map,1);
figure(3);
imshow(uint8(Y)),title('获得的超分辨率图像');
% err = Y - I2;
% err = err(:);
% PSNRdb = 20 * log10(256/sqrt(mean(err .^2)));

 

D135

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

fpga和matlab

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值