DoG 、Laplacian、图像金字塔详解及MATLAB代码



DoG 、Laplacian、图像金字塔详解


本文前半部分转自博客:http://blog.csdn.net/yangtrees/article/details/8309594
后半部分的MATLAB代码是自己亲自用过的,分别是二维、三维图像的Gaussian/Laplacian Py r amid MATLAB Code

DoG(Difference of Gaussian)

DoG (Difference of Gaussian)是灰度图像增强和角点检测的方法,其做法较简单,证明较复杂,具体讲解如下:

Difference of Gaussian(DOG)是高斯函数的差分。我们已经知道可以通过将图像与高斯函数进行卷积得到一幅图像的低通滤波结果,即去噪过程,这里的Gaussian和高斯低通滤波器的高斯一样,是一个函数,即为正态分布函数。


那么difference of Gaussian 即高斯函数差分是两幅高斯图像的差,

一维表示:

二维表示:


具体到图像处理来讲,就是将两幅图像在不同参数下的高斯滤波结果相减,得到DoG图。

  1. GaussianBlur(img,img_G0,Size(3,3),0);  
  • 6
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
好的,我可以给你讲一下Laplacian金字塔图像融合的理论和提供一份Matlab代码Laplacian金字塔图像融合是一种常用的图像融合方法,它的基本思想是将两幅图像分别进行高斯金字塔分解,然后对应的高斯金字塔层进行加权平均,最后再将加权平均后的图像进行拉普拉斯金字塔重建。 理论: Laplacian金字塔图像融合的理论基础是图像金字塔和图像卷积。图像金字塔是指将原始图像按照一定的比例进行下采样或上采样得到的一系列图像的集合。高斯金字塔是一种常用的图像金字塔,它是通过不断降采样和高斯卷积得到的一系列图像。 拉普拉斯金字塔是一种由高斯金字塔得到的图像金字塔,它是由高斯金字塔中相邻两层图像的差值得到的。拉普拉斯金字塔的每一层图像都包含了高频信息,可以用于图像的增强、合成和融合等应用。 Laplacian金字塔图像融合的流程如下: 1. 对两幅待融合的图像进行高斯金字塔分解,得到两个金字塔集合。 2. 对应高斯金字塔层进行加权平均,得到加权平均后的金字塔集合。 3. 对加权平均后的金字塔集合进行拉普拉斯金字塔重建,得到最终的融合图像。 Matlab代码: 下面是Laplacian金字塔图像融合的Matlab代码: ```matlab % 读入两幅待融合的图像 A = imread('image1.jpg'); B = imread('image2.jpg'); % 将图像转换为灰度图像 A = rgb2gray(A); B = rgb2gray(B); % 将灰度图像转换为double类型 A = im2double(A); B = im2double(B); % 定义高斯金字塔的层数 levels = 5; % 构建高斯金字塔 GpA = cell(1, levels); GpB = cell(1, levels); GpA{1} = A; GpB{1} = B; for i = 2:levels GpA{i} = imresize(GpA{i-1}, 0.5); GpB{i} = imresize(GpB{i-1}, 0.5); end % 构建拉普拉斯金字塔 LpA = cell(1, levels); LpB = cell(1, levels); LpA{levels} = GpA{levels}; LpB{levels} = GpB{levels}; for i = levels-1:-1:1 LpA{i} = GpA{i} - imresize(GpA{i+1}, size(GpA{i}), 'bilinear'); LpB{i} = GpB{i} - imresize(GpB{i+1}, size(GpB{i}), 'bilinear'); end % 定义融合权重 alpha = 0.5; % 对应层进行加权平均 GpAB = cell(1, levels); for i = 1:levels GpAB{i} = alpha * LpA{i} + (1-alpha) * LpB{i}; end % 重建融合图像 F = GpAB{levels}; for i = levels-1:-1:1 F = imresize(F, size(GpAB{i}), 'bilinear') + GpAB{i}; end % 显示原始图像和融合图像 figure, subplot(2,2,1), imshow(A), title('image1'); subplot(2,2,2), imshow(B), title('image2'); subplot(2,2,3), imshow(F), title('fusion'); ``` 以上就是Laplacian金字塔图像融合的Matlab代码和理论介绍,希望对你有所帮助。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值