【问题标题】:using imfuse in Matlab to alpha blend grayscale images在 Matlab 中使用 imfuse 对灰度图像进行 alpha 混合
【发布时间】:2017-10-18 18:16:28
【问题描述】:

我正在尝试使用 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 的混合??

【问题讨论】:

    标签: matlab image-processing


    【解决方案1】:

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

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

    这仅在零唯一标记填充区域时才有效。如果任何图像中存在零值,则这些像素将不会被平均。

    【讨论】:

      猜你喜欢
      • 2015-02-04
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-04-15
      • 2017-06-27
      • 2012-12-12
      • 1970-01-01
      相关资源
      最近更新 更多