实现图像拼接,找半天也没找到好的解决方法


主  题:? 如何实现图像拼接,找半天也没找到好的解决方法。
作  者:? wrcluomo (落木)?
等  级:???
信 誉 值:? 111
所属论坛:? VC/MFC 图形处理/算法
问题点数:? 200
回复次数:? 21
发表时间:? 2003-09-04 10:13:59Z
??
?
??

有两幅重叠的图像,如何将这两幅图像拼接成一幅大图像,将相互重叠的部分去掉。最难的是如何找到其相互重叠的那一线
?
?
?
?回复人: asett1(asett1) ( ) 信誉:100? 2003-09-04 13:17:03Z? 得分:10
?
?
?
从左右边缘进行搜索,计算各自的灰度协方差矩阵,设定误差范围,在此范围内就把两块图像进行alpha融合,其余部分copy过来就可以了啊。
我这样说明白了吧 -_-

?
?
Top
?
?回复人: asett1(asett1) ( ) 信誉:100? 2003-09-04 13:18:26Z? 得分:0
?
?
?
从左右边缘进行搜索,计算各自的灰度协方差矩阵,设定误差范围,在此范围内就把两块图像进行alpha融合,其余部分copy过来就可以了啊。
我这样说明白了吧 -_-

?
?
Top
?
?回复人: mattus_zhao(人生十有八九不如意) ( ) 信誉:105? 2003-09-04 19:45:49Z? 得分:190
?
?
?
首先需要对图像进行配准(image registering)
1 使用相位相关度的方法
? 基本思想是把图像使用傅立叶变换到频域里,然后找到脉冲的最高点,就是两幅图像之间的平移量。具体的方法有点复杂,你可以查看一些关于“correlation”的文章。
2 在两幅图像之间选择控制点,然后由这些控制点决定图像之间的投影矩阵。为了精确的得到投影矩阵,需要使用非线性优化算法。
然后是图像拼接 (image stitching)
把图像投影到一个共同的的空间里后,需要对图像进行拼接。最简单的办法就是alpha的融合。更好和复杂的方法是多分辨率的图像融合,需要使用高斯金字塔和拉普拉斯变换。

?
?
Top
?
?回复人: wsljj_2002(开心就好) ( ) 信誉:99? 2003-09-04 20:14:35Z? 得分:0
?
?
?
问两个牛人一个问题,不同分辨率之间如何转换?
?
?
Top
?
?回复人: wrcluomo(落木) ( ) 信誉:111? 2003-09-05 09:58:03Z? 得分:0
?
?
?
灰度方法会不会误差太大,傅立叶变换我试了试有点慢,我看人家的软件过程序很快,肯定不是用的这种方法。
希望大家多发表意见。 这个贴我可能结的晚一点。
?
?
Top
?
?回复人: wrcluomo(落木) ( ) 信誉:111? 2003-09-05 10:19:39Z? 得分:0
?
?
?
灰度方法会不会误差太大,傅立叶变换我试了试有点慢,我看人家的软件过程序很快,肯定不是用的这种方法。
希望大家多发表意见。 这个贴我可能结的晚一点。

?
?
Top
?
?回复人: mattus_zhao(人生十有八九不如意) ( ) 信誉:105? 2003-09-05 16:12:52Z? 得分:0
?
?
?
的确,很多商业软件的图像拼接速度非常快。我自己也了一个基于傅立叶变换的拼接,但是速度的确慢。
比较好的方法应该是:1 全局优化。首先用correlation确定图像之间的运动参数(这个只是大概的);2 局部优化。采样金字塔式的方法迭代求精。
如果使用这样的方法,速度是很快的。不过对算法要求较高,我没有写出来。
?
?
Top
?
?回复人: mattus_zhao(人生十有八九不如意) ( ) 信誉:105? 2003-09-05 16:14:31Z? 得分:0
?
?
?
对了,找相互重叠的那一线还有一个技术叫做“best seamline(最佳缝合线)”,不过具体的方法我不太清楚。
?
?
Top
?
?回复人: mattus_zhao(人生十有八九不如意) ( ) 信誉:105? 2003-09-05 16:16:22Z? 得分:0
?
?
?
我主要是参考了一些IEEE和SIGGRAPH上面的文章,如果你感兴趣,我可以把文章的名字写出来,你去找来看看,就会对图像拼接由比较深刻的了解了。
顺便说一句,图像拼接在全景图的构建过程种有非常重要的作用。
?
?
Top
?
?回复人: wrcluomo(落木) ( ) 信誉:111? 2003-09-05 16:39:25Z? 得分:0
?
?
?
多谢人生,到那儿找这些文章呀。我今天测了灰度的方法,发现不行。
以下是我测的程序:重合区灰度应接近于0,但是看不出来那一行接近。
for (i = 0; i ?{
??
??for (j = 0; j < lHeight; j++)
??{
????lpData[0]=lpDIBBits[0]+lLineBytes*(lHeight - 1 -j) +lWidth-3;
????lpData[1]=lpDIBBits[1]+lLineBytes*(lHeight - 1 -j) +i;
????
????sss.Format("%d",abs(*lpData[0]-*lpData[1]));
???? ?rgMyRge.SetItem(_variant_t((long)(i+1)),_variant_t((long)(j+1)),_variant_t(sss));
??}
??
?}
42?227?8?219?9?192?111
42?223?4?233?176?133?80
42?223?4?233?176?133?80
42?223?4?233?176?133?80
23?233?6?49?142?174?247
23?233?6?49?142?174?247
23?233?6?49?142?174?247
6?227?7?109?168?229?234
6?227?7?109?168?229?234
6?227?7?109?168?229?234
7?220?0?97?222?6?245
7?220?0?97?222?6?245
7?220?0?97?222?6?245
9?238?2?249?3?10?234
9?238?2?249?3?10?234
9?238?2?249?3?10?234
14?21?199?236?0?10?229
14?21?199?236?0?10?229
14?21?199?236?0?10?229
22?9?187?17?2?15?226
22?9?187?17?2?15?226
22?9?187?17?2?15?226
45?228?232?104?2?31?235
部分测试数据。
如果那位有兴趣我可以把测试图像的测试出的数据发给他。
?
?
Top
?
?回复人: mattus_zhao(人生十有八九不如意) ( ) 信誉:105? 2003-09-05 17:39:41Z? 得分:0
?
?
?
如果你要查找研究论文的话,最好的地方应该是:citeseer.nj.nec.com
里面的论文很全。
等我去统计一下看过文章的名字,再贴出来。你可以按名字去找这写文章。
当然,文章只是一个参考,不过的确可以学到很多。国外对图像拼接已经
作得非常好了,这你也可以从商业软件看出来。很多在自动拼接方法都是
非常准确的。
?
?
Top
?
?回复人: wrcluomo(落木) ( ) 信誉:111? 2003-09-06 15:25:00Z? 得分:0
?
?
?
先给你加分,我开一贴你去领分。先谢谢了。
?
?
Top
?
?回复人: yellowwolf(你们把名给全起了所以我注册色狼) ( ) 信誉:66? 2003-09-06 22:43:53Z? 得分:0
?
?
?
我用的方法我不知叫什么了。可以找到两图相重叠的线,但不知是为何有吧会多一个像素(仅一个像素)没有人帮我解这个问题,我的代码在后面吧。你看一下行不行。
?
?
Top
?
?回复人: mattus_zhao(人生十有八九不如意) ( ) 信誉:105? 2003-09-07 08:14:20Z? 得分:0
?
?
?
你通过短信息给我一个email地址,我把我写给的一篇文章发给你。不过比较大,你找一个能收的邮箱。
?
?
Top
?
?回复人: fanfyj(鸬鹚.NET) ( ) 信誉:100? 2003-09-07 08:42:18Z? 得分:0
?
?
?
gz
?
?
Top
?
?回复人: wrcluomo(落木) ( ) 信誉:111? 2003-09-08 17:20:30Z? 得分:0
?
?
?
我的邮箱: power5318@sina.com
mattus_zhao我开贴给你分了你去领呀。
?
?
Top
?
?回复人: wrcluomo(落木) ( ) 信誉:111? 2003-09-08 17:21:09Z? 得分:0
?
?
?
这个邮箱小:发这个: wrcluomo@sohu.com
?
?
Top
?
?回复人: quace(quace) ( ) 信誉:64? 2003-09-09 18:36:29Z? 得分:0
?
?
?
quace@21cn.com
?
?
Top
?
?回复人: wrcluomo(落木) ( ) 信誉:111? 2003-09-11 08:56:09Z? 得分:0
?
?
?
up一下
?
?
Top
?
?回复人: mattus_zhao(人生十有八九不如意) ( ) 信誉:105? 2003-09-11 09:53:12Z? 得分:0
?
?
?
这一段时间很忙,晚上回去发给你。
?
?
Top
?
?回复人: mattus_zhao(人生十有八九不如意) ( ) 信誉:105? 2003-09-11 09:56:16Z? 得分:0
?
?
?
to wrcluomo:你开的帖子在哪里,我怎么看不见?
?
?
Top
?
?回复人: wrcluomo(落木) ( ) 信誉:111? 2003-09-11 10:32:25Z? 得分:0
?
?
?
我等你好几天你不进去,我只好把分散给别人了。还让人误会了。见
http://expert.csdn.net/Expert/topic/2230/2230647.xml?temp=.9627191
我再开一贴。快进呀。
?
?
Top
?
?

该问题已经结贴 ,得分记录: asett1 (10)、 mattus_zhao (190)、?
?
?
?

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 5
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值