【图像融合】基于DCT算法实现图像融合附matlab代码

简介: 【图像融合】基于DCT算法实现图像融合附matlab代码

1 简介

针对普通相机拍摄图像中存在区域曝光问题,提出一种改进的基于离散余弦变换的多曝光图像融合算法.分别对同一场景的多幅不同曝光图像分块,并对每个小块进行离散余弦变换.对提取相应位置的低频系数平均加权,获取图像近似部分的融合分量;对高频系数基于区域标准差确定权重系数,根据权重系数的大小获取细节部分的融合分量.最后,通过反离散余弦变换获得较好质量的多曝光融合图像.仿真实验表明,该算法在提取低频系数为25%,高频系数为75%时,展现的图像细节信息更加丰富.

2 部分代码

function[imf] = mrdctf(im1,im2,J)% Multi resolution 1D DCT based image fusion% Developed by : VPS Naidu, MSDF Lab% input: im1 & im2 images to be fused%        J no. of decomposition levels% output: imf fused imageimfr = mrdctif(im1,im2,J);imfc = mrdctif(im1',im2',J)';imf = 0.5*(imfr+imfc);function[imf] = mrdctif(im1,im2,J)%Multi resolution image fusion by DCT[m,n] = size(im1);x1 = c2dt1d(im1,m,n);x2 = c2dt1d(im2,m,n);for i=1:J    X1{i} = mrdct(x1);    X2{i} = mrdct(x2);    x1 = X1{i}.L;    x2 = X2{i}.L;end% fusion start hereXf.L = 0.5*(X1{J}.L+X2{J}.L);for i=J:-1:1    D = (abs(X1{i}.H) - abs(X2{i}.H)) >=0;    Xf.H = D.*X1{i}.H + (~D).*X2{i}.H;    Xf.L = imrdct(Xf);endimf = c1d2d(Xf.L,m,n);function[R] = c2dt1d(R,m,n)% conversion from 2D array to 1D vectorR(2:2:end,:)=R(2:2:end,end:-1:1);R = reshape(R',1,m*n);function[R] = c1d2d(R,m,n)% conversion from 1D vector to 2D arrayR = reshape(R,n,m)';R(2:2:end,:)=R(2:2:end,end:-1:1);function[X] = mrdct(x)% multi resolution analysisn=length(x);Y = dct(x,n);X.L = idct(Y(1:n/2));% low frequency X.H = Y(n/2+1:n);% low frequencyfunction[x] = imrdct(X)% inverse multi resolution analysisxl = dct(X.L);x = [xl X.H];x = idct(x);

3 仿真结果

4 参考文献

[1]刘卫华, 马洋花, 刘颖. 基于DCT变换的多曝光图像融合方法[J]. 西安邮电大学学报, 2016, 21(6):4.

博主简介:擅长智能优化算法、神经网络预测、信号处理、元胞自动机、图像处理、路径规划、无人机等多种领域的Matlab仿真,相关matlab代码问题可私信交流。

部分理论引用网络文献,若有侵权联系博主删除。


相关文章
|
3月前
|
算法 定位技术 计算机视觉
【水下图像增强】基于波长补偿与去雾的水下图像增强研究(Matlab代码实现)
【水下图像增强】基于波长补偿与去雾的水下图像增强研究(Matlab代码实现)
171 0
|
3月前
|
机器学习/深度学习 算法 机器人
使用哈里斯角Harris和SIFT算法来实现局部特征匹配(Matlab代码实现)
使用哈里斯角Harris和SIFT算法来实现局部特征匹配(Matlab代码实现)
208 8
|
3月前
|
机器学习/深度学习 编解码 算法
基于OFDM技术的水下声学通信多径信道图像传输研究(Matlab代码实现)
基于OFDM技术的水下声学通信多径信道图像传输研究(Matlab代码实现)
220 8
|
3月前
|
机器学习/深度学习 算法 机器人
【水下图像增强融合算法】基于融合的水下图像与视频增强研究(Matlab代码实现)
【水下图像增强融合算法】基于融合的水下图像与视频增强研究(Matlab代码实现)
382 0
|
3月前
|
数据采集 分布式计算 并行计算
mRMR算法实现特征选择-MATLAB
mRMR算法实现特征选择-MATLAB
257 2
|
4月前
|
传感器 机器学习/深度学习 编解码
MATLAB|主动噪声和振动控制算法——对较大的次级路径变化具有鲁棒性
MATLAB|主动噪声和振动控制算法——对较大的次级路径变化具有鲁棒性
265 3
|
4月前
|
存储 编解码 算法
【多光谱滤波器阵列设计的最优球体填充】使用MSFA设计方法进行各种重建算法时,图像质量可以提高至多2 dB,并在光谱相似性方面实现了显著提升(Matlab代码实现)
【多光谱滤波器阵列设计的最优球体填充】使用MSFA设计方法进行各种重建算法时,图像质量可以提高至多2 dB,并在光谱相似性方面实现了显著提升(Matlab代码实现)
195 6
|
3月前
|
机器学习/深度学习 算法 自动驾驶
基于导向滤波的暗通道去雾算法在灰度与彩色图像可见度复原中的研究(Matlab代码实现)
基于导向滤波的暗通道去雾算法在灰度与彩色图像可见度复原中的研究(Matlab代码实现)
221 8
|
3月前
|
机器学习/深度学习 算法 数据可视化
基于MVO多元宇宙优化的DBSCAN聚类算法matlab仿真
本程序基于MATLAB实现MVO优化的DBSCAN聚类算法,通过多元宇宙优化自动搜索最优参数Eps与MinPts,提升聚类精度。对比传统DBSCAN,MVO-DBSCAN有效克服参数依赖问题,适应复杂数据分布,增强鲁棒性,适用于非均匀密度数据集的高效聚类分析。
|
4月前
|
机器学习/深度学习 传感器 算法
【高创新】基于优化的自适应差分导纳算法的改进最大功率点跟踪研究(Matlab代码实现)
【高创新】基于优化的自适应差分导纳算法的改进最大功率点跟踪研究(Matlab代码实现)
313 14

热门文章

最新文章