matlab重叠图像块拼接,在matlab中拼接图像时如何正确混合?

我在matlab中尝试缝合图像,但得到难看的重叠线条.如何正确混合图像?目前我正在使用下面的代码,但它混合得太多(特别是建筑物窗户与鬼魂文物混合,黑色建筑物也是如此).

%Tx - how much to move picture by x, Ty - by y (homography)

cropX = size(imcyl2, 2); %second image x size

xdimfirst = size(imcyl1, 2); %first image x size

ydimfirst = size(imcyl1, 1); %first image y size

xoverlap = xdimfirst - Tx;

newImg = imcyl1;

for y = 1:size(imcyl2, 1)

for x = 1:cropX

if ((Tx+x) > 0 && (Ty+y) >0)

% if we are in the overlap region, then we need to blend.

scale1 = (xoverlap - x) / xoverlap;

scale2 = x / xoverlap;

r = scale1 * imcyl1(Ty + y, Tx + x, 1) + scale2 * imcyl2(y, x, 1);

g = scale1 * imcyl1(Ty + y, Tx + x, 2) + scale2 * imcyl2(y, x, 2);

b = scale1 * imcyl1(Ty + y, Tx + x, 3) + scale2 * imcyl2(y, x, 3);

newImg(Ty + y, Tx + x, :) = [r g b];

end

end

end

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值