声振论坛

 找回密码
 我要加入

QQ登录

只需一步,快速开始

查看: 6340|回复: 18

[图像处理] 如何实现图像拼接

[复制链接]
发表于 2007-9-12 20:55 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?我要加入

x
我要把下面两幅图像给拼接起来,请问用MATLAB该如何实现?
我在本论坛中找过有关图像拼接的话题,但由于仅有代码无相应的图片,所以对程序不大理解.
请大家帮忙解决下我的问题,谢谢!

[ 本帖最后由 eight 于 2007-9-12 20:57 编辑 ]
LENA_8G1.bmp
LENA_8G2.bmp
回复
分享到:

使用道具 举报

发表于 2007-9-12 21:37 | 显示全部楼层
对代码不感兴趣:lol 那就别编程了,最简单的绘图工具都可以完成拼接功能。简单方便:lol
发表于 2007-9-12 21:59 | 显示全部楼层
图像拼接的实质是数据的重组,发个最简单的图。虽然简单不过目的是要告诉做图像处理的朋友,很多问题需要自己根据实际情形去设计算法。如果是复杂的拼接,比如图像彼此有交叉但是有都可以看得到(类似于photoshop里的不同图层不同透明度的情形),该怎么用m语言实现呢?
--------------------------楼主讨厌的代码:lol ------------------------------
A=imread('lena.bmp');
B=repmat(A,2,3);
imshow(B);
-----------------------------------结果见附图----------------------------

[ 本帖最后由 花如月 于 2007-9-12 22:05 编辑 ]
temp.jpg
 楼主| 发表于 2007-9-12 22:37 | 显示全部楼层
rempat描述的是:通过复制与叠置矩阵来创建新矩阵.用这个函数似乎不能实现我所提出来的问题.不过还是很感谢楼上的解答.
我用程序算过:图像2(LENA-8G2)相对于图像1(LENA-8G1)的位移量(单位-像素):
水平方向(x方向) :  61
竖直方向(y方向) :  78
问题是:MATLAB中无平移函数,所以我不知怎样将两个图形拼接?
请知道的给我解答下,十分感谢!
发表于 2007-9-12 22:47 | 显示全部楼层

回复 #4 123231321 的帖子

是啊,我的例子只是为了说明图像并接和平移都是一个数据重组的问题,而不是为了解决你的问题。你的这个问题其实挺简单的,利用现有的函数实现代码也没多少行的。自己多思考一下吧:@)

[ 本帖最后由 花如月 于 2007-9-12 22:49 编辑 ]
发表于 2007-9-12 23:02 | 显示全部楼层
楼主的意思是找到两幅图像的重合之处,然后再拼接,得到完整的 lena 头像?这个估计比较难实现

[ 本帖最后由 eight 于 2007-9-12 23:04 编辑 ]
发表于 2007-9-13 10:15 | 显示全部楼层

回复 #6 eight 的帖子

这个也不难实现的,还是数据的重组问题。只要知道图像的平移信息就比较容易,如果不知道平移信息,就需要设计算法定位某一共有特征(比如眼睛),求出平移信息。然后再合成,楼主给的图我试过了,平移的信息似乎有问题。合成的时候误差比较大,附图我自己截的图,然后再合成的。

[ 本帖最后由 eight 于 2007-9-13 20:04 编辑 ]
temp.PNG

评分

1

查看全部评分

 楼主| 发表于 2007-9-13 10:53 | 显示全部楼层
我用MATLAB编时,
最后算出:图像2相对于图像1的位移量(单位-像素):
水平方向(x方向) :  61
竖直方向(y方向) :  78
现在给出了平移量,我该如何实现您显示的合成后的图形呢?
您显示的合成后的图形,正是我想要得出来的,但我不知如何实现.
请您指教,谢谢!
发表于 2007-9-13 20:04 | 显示全部楼层
原帖由 花如月 于 2007-9-13 10:15 发表
这个也不难实现的,还是数据的重组问题。只要知道图像的平移信息就比较容易,如果不知道平移信息,就需要设计算法定位某一共有特征(比如眼睛),求出平移信息。然后再合成,楼主给的图我试过了,平移的信息似乎 ...


如果只是平移的问题,当然还好办一些,呵呵
发表于 2007-9-13 20:05 | 显示全部楼层
原帖由 123231321 于 2007-9-13 10:53 发表
我用MATLAB编时,
最后算出:图像2相对于图像1的位移量(单位-像素):
水平方向(x方向) :  61
竖直方向(y方向) :  78
现在给出了平移量,我该如何实现您显示的合成后的图形呢?
您显示的合成后的图形,正是我 ...


矩阵的一些技巧而已,建议多看看热点问题的那个置顶帖
发表于 2007-9-13 20:56 | 显示全部楼层

回复 #8 123231321 的帖子

楼上说的很对,都是一些简单的技巧。你还是看看置顶帖子和一些基础知识就好了。另外你算的平移量也是是有问题的。
发表于 2007-9-13 23:08 | 显示全部楼层
原帖由 123231321 于 2007-9-13 10:53 发表
我用MATLAB编时,
最后算出:图像2相对于图像1的位移量(单位-像素):
水平方向(x方向) :  61
竖直方向(y方向) :  78
现在给出了平移量,我该如何实现您显示的合成后的图形呢?
您显示的合成后的图形,正是我 ...


看这个吧:matlab矢量化编程技巧集锦

虽然没有明显的答案,但是里面使用了 : 这个运算符,你掌握好该运算符就可以了

评分

1

查看全部评分

 楼主| 发表于 2007-9-14 21:22 | 显示全部楼层
谢谢eight!
发表于 2008-5-6 19:35 | 显示全部楼层
请问有没完整的关于基于特征的图像拼接的代码~~~~我是初学做这方面的东西,想借完整的代码看看学习下~~~谢谢各位了
发表于 2009-4-6 09:22 | 显示全部楼层
真的能学到东西了,,,谢谢你们,,,,,支持你们。。。:handshake :victory:
您需要登录后才可以回帖 登录 | 我要加入

本版积分规则

QQ|小黑屋|Archiver|手机版|联系我们|声振论坛

GMT+8, 2024-11-17 03:29 , Processed in 0.090085 second(s), 23 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表