利用Matlab中的imfuse实现灰度图像的alpha混合
我试图用imfuse函数在Matlab中叠加2幅灰度图像。在“重叠”区域中,我想取图像A的50%和图像B的50%。取而代之的是重叠区域中A和B的总和。此代码演示:利用Matlab中的imfuse实现灰度图像的alpha混合,matlab,image-processing,Matlab,Image Processing,我试图用imfuse函数在Matlab中叠加2幅灰度图像。在“重叠”区域中,我想取图像A的50%和图像B的50%。取而代之的是重叠区域中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] = im
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的混合???一种简单的方法就是将重叠区域除以2:
C(A~=0 & B~=0) = C(A~=0 & B~=0)./2;
这仅在零独占标记填充区域时有效。如果任何图像中存在零值,这些像素将不会得到平均值。一种简单的方法是将重叠区域除以2:
C(A~=0 & B~=0) = C(A~=0 & B~=0)./2;
这仅在零独占标记填充区域时有效。如果任何图像中存在零值,这些像素将不会得到平均值