matlab 柱面投影,图像拼接(不投影到柱面)(渐入渐出融合) matlab程序

本文通过MATLAB详细介绍了图像拼接的过程,包括柱面投影、SIFT匹配、H矩阵计算和图像融合。作者对比了柱面投影前后以及不同融合算法的效果,讨论了融合算法的重要性,并提出对现有方法的改进思路。
摘要由CSDN通过智能技术生成

1,先拍摄一组图片,比如两幅图:A、B

我直接用网上的两幅图:

0818b9ca8b590ca3270a3433284dd417.png

0818b9ca8b590ca3270a3433284dd417.png

2,分别投影到柱面坐标系

就用自己写的柱面投影程序 matlab里 结果:

0818b9ca8b590ca3270a3433284dd417.png

0818b9ca8b590ca3270a3433284dd417.png

3,开始配准第一步:SIFT得到匹配对(直接用OpenCV里自带的)

0818b9ca8b590ca3270a3433284dd417.png有两三对误匹配对,后来调整阈值得到没有误匹配对的结果。

4,配准第二步:根据匹配对得到图片A、B的变换矩阵H (将上一步的结果保存给matlab然后自己计算变换矩阵H)

0818b9ca8b590ca3270a3433284dd417.png图太大了       匹配对坐标输出来给两个txt文件  然后matlab读 计算H变换矩阵

上一次我是用前五个匹配对来计算变换矩阵H 这样误差会很大  所以不能只用五个点  要用尽量多的正确匹配对的坐标计算 这样误差就很小  计算出来的H=[1,0,-255;0,1,4;0,0,1];

5,图像配准第五步:以一幅图为参考图,另一幅图为目标图,对目标图进行H矩阵变换,完成配准

A=imread('F:\fisheye\srcpin1.jpg');

[H,W,k]=size(A);

%先计算目标图的大小

Y=2*W-255+1;

C=zeros(H,Y);

for i=1:H

for j=1:W

C(i,j,1)=A(i,j,1);

C(i,j,2)=A(i,j,2);

C(i,j,3)=A(i,j,3);

y=W+j-255;

x=i+4;

if(x>H||x<1||y>Y||y<1)

continue;

end

C(x,y,1)

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值