在Matlab中使用imfuse来混合灰度图像

时间:2017-10-17 16:20:02

标签: matlab image-processing

我尝试使用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,[]);

enter image description here

有没有办法控制混合参数,所以我可以得到50/50混合?

1 个答案:

答案 0 :(得分:0)

一种简单的方法是将重叠区域除以2:

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

仅当零专门标记填充区域时才有效。如果任何图像中存在零值,则这些像素将无法平均。