gpt4 book ai didi

图像与蒙版混合

转载 作者:行者123 更新时间:2023-12-02 09:30:14 24 4
gpt4 key购买 nike

我正在尝试根据掩模中的信息组合两个图像。如果蒙版为 0,我将使用背景图像中的颜色信息;如果蒙版为 1,我将使用前景图像中的颜色信息。因为蒙版和两者图像大小相同,我想使用矩阵的逻辑索引来实现这一点。

我的尝试:

mask = imread('mask.png');
foreground = imread('fg.jpg');
background = imread('bg.jpg');
[r,c,~]=size(mask);
A = zeros(size(mask));

for i=1:r
for j=1:c
if mask(i,j) == 0
A(i,j,:) = background(i,j,:);
end
if mask(i,j) > 0
A(i,j,:) = foreground(i,j,:);
end
end
end

imshow(A);

结果看起来像闪烁的蓝色图像,但我不想要这样。请帮忙。

最佳答案

您可以更简洁地做到这一点:

f = double(foreground).*double(mask);
b = double(background).*double(~mask);
blend = f+b;
imshow(blend, []);

使用逻辑索引你也可以这样做

foreground(logical(mask)) = 0;
background(logical(~mask)) = 0;
blend = foreground+background;

ISNOT 运算符“~”反转第二行中的矩阵,因此您可以剪掉想要作为背景的区域。

注意:这适用于黑白(一个 channel )。对于彩色图像,请参阅 rayryeng 的解决方案。

关于图像与蒙版混合,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33905709/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com