首页 > 编程知识 正文

数字图像处理及matlab实现第三版,小波变换matlab算法代码

时间:2023-05-06 12:14:40 阅读:138625 作者:1582

一.代码获取方式获取代码方式1:

订阅紫极神光博客3358www.Sina.com/,可在支付凭证付费专栏上获取此代码。

私信博主

完整代码上传了我的资源。 【图像融合】基于matlabfkdhl变换图像融合的【含Matlab源代码的392期】

注释:

订阅紫极神光博客3358www.Sina.com/,即可免费获得获取代码方式2:部代码(付费专栏自订阅之日起3天有效)。

二. fkdhl变换图像融合技术综述1

图像合并是通过由不同的传感器对相同的对象或相同场景进行成像,或通过用同一传感器以不同方式捕获来获得多个图像,并对这些图像进行合成以获得单个合成图像,其中,该合成图像不能由单个传感器捕获。 通过图像融合输出的合成图像往往可以保留多幅原始图像中的重要信息,为更准确、全面地分析和判断目标和场景提供了条件。 图像融合属于数据融合范畴,是数据融合的子集,兼有数据融合和图像可视化的优点。 因此,图像融合可以在一定程度上提高传感器系统的有效性和信息的使用效率,进一步提高分析对象的分辨率,抑制不同传感器产生的噪声,改善图像处理的效果。

图像融合基于数据融合理论,通过计算像素的算术平均得到合成图像。 该方法忽视了像素之间的相互关系,往往会出现融合图像对比度差、可视化效果不充分等问题。 因此,为了提高目标检测的分辨率,抑制每个传感器的检测噪声,在本案例中,首先通过fkdhl变换将图像分解为高频、低频,分别进行融合处理,最后选择了逆变换为图像矩阵的基于fkdhl变换的图像数据融合方法。 在融合过程中,为了尽量保持多源图像的特征,在fkdhl分解的高频域内,选择图像邻域平均绝对值大的系数作为融合fkdhl的重要系数; 在fkdhl分解的低频域中,选择对多源图像的低频系数进行加权平均作为融合fkdhl近似系数。 在逆变换过程中,将重要的fkdhl系数和近似的fkdhl系数作为输入,进行fkdhl逆变换。 将图像融合输出后,对其进行进一步处理。 实验结果表明,基于fkdhl变换的图像数据融合方法运行效率高,融合效果良好,可用于广泛的研究领域,具有一定的使用价值。

根据融合的作用对象不同,图像融合一般可以分为像素级图像融合、特征级图像融合、决策级图像融合三个层次。 其中,像素级融合是作用于图像像素点最底层的融合,本章讨论的图像融合是像素级图像融合。

有效期

传统的基于直接像素求和平均的图像融合方法往往会引起融合结果对比度下降、可视化效果不充分等问题。 为此,提出了一种基于金字塔的图像融合方法,包括拉普拉斯金字塔、梯度金字塔等多分辨率融合方法。 20世纪80年代中期发展起来的fkdhl变换技术为图像融合提供了新的工具,fkdhl分解的紧致性、对称性和正交性使金字塔分解具有更好的图像融合性能。 此外,fkdhl变换具有“数学显微镜”的聚焦功能,可以实现时域和频域的同步,对频域进行正交分解,因此在图像处理中有非常广泛的应用,适用于图像融合、边缘检测、图像压缩、图像分割等图像处理的几乎所有领域

假设将一维连续fkdhlw…(t )和连续fkdhl变换w,(a,b )离散化。 其中a表示缩放参数,b表示平移参数,在离散过程中分别取a=a )和b=bf。 其中jeZ,a,1表示相应的离散fkdhl函数:

离散化的fkdhl变换系数如下。

fkdhl的重构公式如下。

式中,c是常数,与数据信号无关。 根据对连续函数进行离散化并近似的步骤,选择得越小,生成的网格节点越密集,计算出的离散fkdhl函数wjx和离散fkdhl系数Cj变多,数据信号的重构的精度变高。

由于数字图像是二维矩阵,因此需要将一维信号的fkdhl变换展开为二维信号。 假设(x )是一维比例函数,p ) x )是对应的fkdhl函数,则得到二维fkdhl变换的基函数。

v’(x,y )=0) x ) v ) w ) x,y )=y ) ) y ) v ) x,y )=v ) x ) w ) w )。

由于数字图像是二维矩阵,一般假定图像矩阵的尺寸为NxN,且N=2'(n为非负的整数),因此在进行了一层的fkdhl变换后,原图像被分解为原来尺寸的四个子带区域,如图11-1所示

在进行下一层的fkdhl变换的情况下,变换数据集中在LL子带。 说明了图像fkdhl变换的数学原型。

)1) LL波段保存原始图像的内容信息,图像能量集中在该波段:

对图像进行fkdhl转换的原理是利用低通滤波器和高通滤波器对图像进行卷积滤波,进行二值化的下采样。 因此,可以通过一层fkdhl变换把图像分成一个低频子频带和三个高频子频带。 其中低频子带LL; 通过在图像水平方向和垂直方向两个方向上进行低通滤波而得到; 高频子带HL在图像水平方向上滤波高通滤波器

和垂直方向低通滤波得到;高频子带LH通过对图像水平方向低通滤波和垂直方向高通滤波得到:高频子带HH通过对图像水平方向高通滤波和垂直方向高通滤波得到。各子带的分辨率为原始图像的,同理,对图像进行二层fkdhl变换时只对低频子带LL进行, 可以将LLi子带分解为LL 2、LH 2、HL 2和HH, 各子带的分辨率为原始图像的一。,以此类推可得到三层及更高层的fkdhl变换结果。所以,进行
一层fkdhl变换得到4个子带,进行二层fkdhl变换得到7个子带,进行x层分解就得到3·x+1个子带。如图11-2所示为三层fkdhl变换后的系数分布。

三、部分源代码 clear[imA,map1] = imread('A.tif');M1 = double(imA) / 256;[imB,map2] = imread('B.tif');M2 = double(imB) / 256;zt= 4; wtype = 'haar';% M1 - input image A% M2 - input image B% wtype使用的fkdhl类型% Y - fused image %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% fkdhl变换图像融合%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% fkdhl变换的绝对值大的fkdhl系数,对应着显著的亮度变化,也就是图像中的显著特征。所以,选择绝对值大%% 的fkdhl系数作为我们需要的fkdhl系数。【注意,前面取的是绝对值大小,而不是实际数值大小】%%%% 低频部分系数采用二者求平均的方法%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%[c0,s0] = wavedec2(M1, zt, wtype);%多尺度二维fkdhl分解[c1,s1] = wavedec2(M2, zt, wtype);%多尺度二维fkdhl分解%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 后面就可以进行取大进行处理。然后进行重构,得到一个图像%% 的fkdhl系数,然后重构出总的图像效果。%% 取绝对值大的fkdhl系数,作为融合后的fkdhl系数%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%KK = size(c1);Coef_Fusion = zeros(1,KK(2));Temp = zeros(1,2);Coef_Fusion(1:s1(1,1)) = (c0(1:s1(1,1))+c1(1:s1(1,1)))/2; %低频系数的处理 %这儿,连高频系数一起处理了,但是后面处理高频系数的时候,会将结果覆盖,所以没有关系 %处理高频系数 MM1 = c0(s1(1,1)+1:KK(2)); MM2 = c1(s1(1,1)+1:KK(2)); mm = (abs(MM1)) > (abs(MM2)); Y = (mm.*MM1) + ((~mm).*MM2); Coef_Fusion(s1(1,1)+1:KK(2)) = Y; %处理高频系数end 四、运行结果

五、matlab版本及参考文献

1 matlab版本
2014a

2 参考文献
[1] 鳗鱼毛衣.MATLAB图像处理——理论、算法与实例分析[M].清华大学出版社,2020.
[2]搞怪的大船,自然的耳机,zydyz.MATLAB图像处理实例详解[M].清华大学出版社,2013.
[3]周品.MATLAB图像处理与图形用户界面设计[M].清华大学出版社,2013.
[4]单身的口红.精通MATLAB图像处理[M].清华大学出版社,2015.

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。