我尝试使用imfuse功能在Matlab中叠加2个灰度图像。在"重叠"区域,我想拍摄50%的图像A和50%的图像B.我得到的是重叠区域中A和B的总和。此代码演示了:
A = 50*ones(100,100);
A = padarray(A,[50 50],'both');
RA = imref2d(size(A));
B = 50*ones(100,100);
B = padarray(B,[100 100],'pre');
RB = imref2d(size(B));
[C,RC] = imfuse(A,RA,B,RB,'blend');
imshow(C,RC,[]);
有没有办法控制混合参数,所以我可以得到50/50混合?
答案 0 :(得分:0)
一种简单的方法是将重叠区域除以2:
C(A~=0 & B~=0) = C(A~=0 & B~=0)./2;
仅当零专门标记填充区域时才有效。如果任何图像中存在零值,则这些像素将无法平均。