2017-10-17 680 views
1

我想在matlab中使用imfuse函数覆盖2灰度图像。在“重叠”区域,我想要拍摄图像A的50%和图像B的50%。我得到的是重叠区域中A和B的总和。此代码演示:在Matlab中使用imfuse来混合灰度图像的alpha混合

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,[]); 

enter image description here

有没有办法来控制混合参数,这样我就可以得到一个50/50混合?

回答

0

一个简单的方法是只除以2的重叠区域:

C(A~=0 & B~=0) = C(A~=0 & B~=0)./2; 

这只能如果零专门标志着填充区域。如果任何图像中存在零值,那么这些像素将不会被平均。