拉普拉斯图像融合

1.图像金字塔

图像金字塔是一个图像集合,集合中所有的图像都来源于同一个原始图像,而且是通过对原始图像的连续降采样获得,直到达到某个终止条件才停止降采样。
常见的两种图像金字塔:
高斯金字塔(Gaussian pyramid): 向下采样图像
拉普拉斯金字塔(Laplacian pyramid):用来从金字塔低层图像中向上采样重建一个图像。

2.图像的向上、向下采样

2.1下采样

下采样使得图像金字塔的层级越高,图像越小。假设每一层都按从下到上的次序编号,层级(i + 1) 的尺寸表示为Gi+1。则由第i层图像获得第i+1层图像的步骤为:
1)将Gi与高斯内核卷积:
这里写图片描述
2)将所有偶数行和列去除。
经过上诉处理后,获得的结果图像为原来原图的1/4。不断对迭代上诉步骤就可以得到整个图像金字塔。

opencv里的实现函数为:
void cvPyrDown(IplImage *src, IplImage *dst, IplFilter filter = CV_GAUSSIAN_5*5).
注意最后一个参数仅支持CV_GAUSSIAN_5*5。

使用示例:
cvPyrDown( src, result, CV_GAUSSIAN_5x5 ); //高斯变换

或者Mat格式的:
pyrDown( tmp, dst, Size( tmp.cols/2, tmp.rows/2 )
函数 pyrDown 接受3个参数:
tmp: 当前图像, 初始化为原图像 src 。
dst: 目的图像( 显示图像,为输入图像的一半)
Size( tmp.cols/2, tmp.rows/2 ) :目的图像大小, 既然我们是向下采样, pyrDown 期待一个一半于输入图像( tmp)的大小。
注意输入图像的大小(在两个方向)必须是2的冥,否则,将会显示错误。

2.2上采样

上采样使得图像变大。步骤:
1)将图像在每个方向扩大为原来的两倍,新增的行与列以0填充
2)使用先前同样的内核(乘以4)与放大后的图像卷积,获得新增像素的近似值。

注意上采样不是下采样的逆操作。因为下采样是一个丢失图像信息的处理过程。

opencv 实现:
void cvPyrUp(IplImage * src, IplImage *dst, IplFilter filter = CV_GAUSSIAN_5*5);

示例:cvPyrUp( src, result, CV_GAUSSIAN_5x5 );

Mat格式:
pyrUp( tmp, dst, Size( tmp.cols*2, tmp.rows*2 )
函数 pyrUp 接受了3个参数:
tmp: 当前图像, 初始化为原图像 src 。
dst: 目的图像( 显示图像,为输入图像的两倍)
Size( tmp.cols*2, tmp.rows*2 ) : 目的图像大小, 既然我们是向上采样, pyrUp 期待一个两倍于输入图像( tmp )的大小。

3.拉普拉斯金字塔

降采样操作丢失的信息数据形成了拉普拉斯金字塔。拉普拉斯金字塔的第i层定义为:
这里写图片描述

借助于opencv,PyrUp()函数实现的功能就是这里写图片描述所定义的,所以,可以使用opencv直接进行拉普拉运算:
这里写图片描述
拉普拉斯金字塔与高斯金字塔如下图所示:

  • 20
    点赞
  • 39
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值