多频段融合方法——图像拼接
来源:互联网 发布:java两年经验工资多少 编辑:程序博客网 时间:2024/06/05 18:04
原文地址:http://blog.csdn.net/smallflyingpig/article/details/61200497
图像拼接一般包括warp(映射), compensation(光照补偿)和blend(融合)三部分。
warp部分主要取决于相机参数估计的准确性,光照补偿主要用于解决不同图像曝光不同所带来的输出图像的不同局部的光照差异,而blend则用于融合不同图像之间的重叠部分,一般使用线性加权的方式来得到最终的输出图像。
多波段融合(multi blend)
多波段融合的基本思想是图像可以分解为不同频率的图像的叠加(类似于傅里叶变换),在不同的频率上,应该使用不同的权重来进行融合,在低频部分应该使用波长较宽的加权信号(例如高斯核函数中sigma比较大),在高频部分应该使用较窄的加权信号(例如高斯核函数的sigma比较小),其算法如下:
- 计算输入图像的高斯金字塔。如果输入图像是
A,B ,则计算GA0,GA1,GA2,GA3,… 和GB0,GB1,GB2,GB3,… (如何计算高斯金字塔?) - 计算输入图像的拉普拉斯金字塔。记为
LA0,LA1,LA2,LA3,… 和LB0,LB1,LB2,LB3,… (如何计算拉普拉斯金字塔?) - 将处于同一级的拉普拉斯金字塔进行融合。例如在拼接缝两侧使用简单的线性融合。记输出图像为
C ,则这里得到LC0,LC1… - 将高层的拉普拉斯金字塔依次扩展直至和
LC0 相同分辨率。我们记做LC00,LC11,LC22… - 将4中得到的图像依次叠加,则得到最终的输出图像
C 。
代码实现
使用matlab实现多波段算法如下:
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
- 25
- 26
- 27
- 28
- 29
- 30
- 31
- 32
- 33
- 34
- 35
- 36
- 37
- 38
- 39
- 40
- 41
- 42
- 43
- 44
- 45
- 46
- 47
- 48
- 49
- 50
- 51
- 52
- 53
- 54
- 55
- 56
- 57
- 58
- 59
- 60
- 61
- 62
- 63
- 64
- 65
- 66
- 67
- 68
- 69
- 70
- 71
- 72
- 73
- 74
- 75
- 76
- 77
- 78
- 79
- 80
- 81
- 82
- 83
- 84
- 85
- 86
- 87
- 88
- 89
- 90
- 91
- 92
- 93
- 94
- 95
- 96
- 97
- 98
- 99
- 100
实验效果:
输入两张光照差别很大的图像:
左半部分使用左图,右半部分使用右图,进行多波段融合得到如下:
每个波段融合使用的掩膜如下(白色代表左图成分,黑色代表右图成分):
其中前四幅图为显示方便做了偏移处理。
参考
- P. Burt and E. Adelson. A multiresolution spline with application to image mosaics. ACM Transactions on Graphics, 2(4):217–236, 1983.
- Matthew Brown and David G. Lowe. Automatic Panoramic Image Stitching using Invariant Features.
3 0
- 多频段融合方法——图像拼接
- 多频段图像融合
- 图像拼接——多波段融合(multi blend)
- opencv-图像拼接与融合
- 多投影完美拼接——边缘融合投影技术
- OpenCV图像拼接和图像融合技术
- 图像拼接和图像融合技术
- 图像拼接和图像融合技术
- OPENCV 图像融合方法
- 图像融合方法
- OpenCV探索之路 图像拼接和图像融合技术
- 学习OpenCV——Laplacian图像融合
- 学习OpenCV——Laplacian图像融合
- 图像处理——alpha融合
- Opencv学习——图像融合
- opencv2实现10张图像上下左右拼接融合
- stitching.cpp鱼眼图像拼接融合 源码分析
- 图像拼接(不投影到柱面)(渐入渐出融合) matlab程序
- 6.1.4.Drv/PWM(Character Device Drv)
- HDU---1829 A Bug's Life【并查集】
- 面试14之请实现一种数据结构SetOfStacks
- Js选择框脚本 移动操作select 标签中的 option 项的操作事项
- Linux——分区时出现This partition should be marked for use as an "EFI boot partition"
- 多频段融合方法——图像拼接
- Android与h5交互
- 【Eclipse】安装Eclipse Color Theme 插件
- struts2_json
- 实现水平居中和垂直居中的方法
- Service使用详解
- java集合框架(三)-视图与包装器
- 巩固对static关键字的认识
- blog original programme