首页/文章/ 详情

2-1拉普拉斯金字塔图像融合程序

5天前浏览1
image.png

1. 应用场景

这个程序主要用于多聚焦图像融合

在实际拍摄中,相机往往只能对某一个距离范围进行清晰对焦。例如:

  • 一张照片中,前面的物体清楚,后面的物体模糊;

  • 另一张照片中,后面的物体清楚,前面的物体模糊。

这个程序可以把两张不同对焦位置的图像进行融合,尽量保留两张图中各自比较清晰的部分,最终得到一张整体更加清晰的图像。

本程序自带的示例就是这种情况:

  • first.jpg 中,后方的大钟比较清晰;

  • second.jpg 中,前方的小钟比较清晰;

  • 程序融合后得到 LaResult3.bmp,前后两个钟的清晰信息都被尽量保留下来。

典型应用

  • 多聚焦照片融合

  • 显微图像融合

  • 工业检测中不同焦平面的图像合成

  • 图像融合算法的学习、实验和教学演示


2. 基本原理

程序采用的是拉普拉斯金字塔图像融合方法

可以把它简单理解成:

先把图像按不同层次拆开 → 在每一层挑选更清晰的信息 → 再把这些信息重新组合成一张图。

整体过程可以分成四步。

第一步:建立高斯金字塔

程序先对两张输入图像进行逐层模糊和缩小。

代码中设置:

layer = 4;

也就是把图像分成多个尺度进行处理。

这样做的目的,是让程序不仅观察很小的细节,也能够观察较大范围的图像信息。


第二步:建立拉普拉斯金字塔

在高斯金字塔的基础上,程序进一步计算每一层之间的差异,形成拉普拉斯金字塔。

拉普拉斯金字塔中的信息可以简单理解为:

图像在不同尺度下的边缘、纹理和细节信息。

清晰区域通常会包含更多明显的边缘和细节,因此可以利用这些信息判断某个区域应该选择哪一张原图。


第三步:选择两张图中更清晰的信息

程序分别比较两张图像在各层中的特征。

对于金字塔顶层,程序主要通过图像的梯度变化进行比较。

对于其他层,程序通过局部区域的拉普拉斯响应强弱进行比较。

简单来说:

哪张图在当前位置包含的细节更多,就优先保留哪张图的信息。

因此:

  • 前景在第二张图中更清晰时,就更多选择第二张图的信息;

  • 背景在第一张图中更清晰时,就更多选择第一张图的信息。


第四步:重建融合图像

完成各层信息选择后,程序再从金字塔最上层开始逐层放大和恢复。

最终将不同尺度上的融合信息重新组合,得到完整的融合图像。

整个过程可以概括为:

两张原图 → 多尺度分解 → 清晰信息选择 → 多尺度重建 → 融合图像


3. 程序优势

3.1 能同时保留不同位置的清晰信息

直接对两张图片做平均容易造成整体变模糊。

本程序会在不同位置选择更有细节的一张图,因此更适合多聚焦图像融合。

3.2 能从多个尺度分析图像

程序不是只比较单个像素,而是通过金字塔结构观察不同尺度下的图像信息。

这样能够同时考虑局部细节和较大范围的图像特征。

3.3 对边缘和纹理信息保留较好

拉普拉斯金字塔本身比较关注图像中的变化、边缘和细节,因此融合后能够较好地保留清晰区域的纹理信息。

3.4 MATLAB 实现简单,方便学习

程序结构比较直观,主要包含:

  • 高斯金字塔构建

  • 拉普拉斯金字塔分解

  • 融合规则

  • 图像重建

比较适合用于理解图像融合和多尺度处理的基本思想。


4. 功能介绍与使用方法

这个程序的主要功能是:

读取两张图像,对其进行拉普拉斯金字塔融合,并输出融合结果。

输入图像

程序默认读取:

A = imread('first.jpg');
B = imread('second.jpg');

因此,需要将两张待融合图片放在程序所在目录,并命名为:

  • first.jpg

  • second.jpg

两张图片最好具有相同的尺寸,并且图像中的物体 位置基本对应。


运行程序

在 MATLAB 中打开:

My_Laplacia.m

然后直接运行程序。

程序会依次显示:

  1. 第一张输入图像;

  2. 第二张输入图像;

  3. 最终融合图像。


输出结果

程序最后执行:

imwrite(uint8(G_C{1,1}),'LaResult3.bmp','BMP');

因此,融合后的图像会保存为:

纯文本

LaResult3.bmp

同时 MATLAB 窗口中也会显示最终融合结果。


5. 使用示例与注意事项

示例

本程序自带两张钟表图片。

第一张图片中:

  • 后方的大钟比较清晰;

  • 前方的小钟比较模糊。

第二张图片中:

  • 前方的小钟比较清晰;

  • 后方的大钟比较模糊。

程序分别提取两张图片中较清晰区域的细节,再进行重新组合。

最终融合结果中:

  • 前面的小钟得到较清晰的显示;

  • 后面的大钟也保留了较清晰的数字、指针和纹理。

这就是多聚焦图像融合的基本效果。

注意事项

  1. 两张输入图片尺寸应保持一致。

  2. 两张图像中的场景和物体 位置应基本一致。
    如果两张图片发生明显移动,直接融合可能出现重影或错位。

  3. 程序默认使用 4 层金字塔。
    对于一般示例可以直接使用,不需要修改。

  4. 程序依赖 MATLAB 的图像处理相关函数。
    例如 imfilterim2col 等。

  5. 输入文件名发生变化时,需要修改程序开头的 imread 路径。


总结

这个程序利用拉普拉斯金字塔,把两张不同焦点的图片分解到多个尺度,在每一层选择更加清晰的图像信息,最后重新构建出一张融合图像。

对于初学者,可以把整个程序理解成一句话:

把两张照片中各自清楚的部分挑出来,再组合成一张整体更清楚的照片。



来源:MATLAB学习与应用
MATLAB多尺度
著作权归作者所有,欢迎分享,未经许可,不得转载
首次发布时间:2026-08-21
最近编辑:5天前
explicit-z
硕士 工种号:MATLAB学习与应用
获赞 212粉丝 78文章 294课程 5
点赞
收藏
作者推荐
未登录
还没有评论
课程
培训
服务
行家
VIP会员 学习计划 福利任务
下载APP
联系我们
帮助与反馈