function [ image ] = overlap2im(image1, image2, ratio)
[h1 w1 c1] = size(image1);
[h2 w2 c2] = size(image2);
if c1 ~= c2
error('input image required to have same channels!');
end
if ratio > 1 || ratio < 0
error('ratio must between 0~1 !!!');
end
h = max(h1, h2);
w = max(w1, w2);
c = c1;
im = double(255.*ones(h,w,c));
im(1:h1,1:w1,:) = image1(:,:,:);
if h2 > h1
im(h1+1:h, 1:min(w2,w), :) = image2(h1+1:h,1:w2,:);
end
if w2 > w1
im(1:min(h2,h), w1+1:w,:) = image2(1:h2, w1+1:w,:);
end
im(1:min(h1,h2), 1:min(w1,w2),:) = im(1:min(h1,h2), 1:min(w1,w2),:)*ratio + double(image2(1:min(h1,h2), 1:min(w1,w2),:))*(1-ratio);
image = uint8(im);
end
图像比例叠加
最新推荐文章于 2025-05-16 09:45:04 发布