Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/matlab/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
利用Matlab中的imfuse实现灰度图像的alpha混合_Matlab_Image Processing - Fatal编程技术网

利用Matlab中的imfuse实现灰度图像的alpha混合

利用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

我试图用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] = 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;
这仅在零独占标记填充区域时有效。如果任何图像中存在零值,这些像素将不会得到平均值