Matlab:如何融合或融合两个rgb图像?

AJ_Only

根据附件图像,如何获得输出图像而不受输入图像中的黑色影响?如果我使用imfuse(input, background, 'blend'),它,它将混合输入颜色和背景颜色。我不知道是否为此目的而建立了方法或算法(请注意,输入图像中的背景色为浅紫色和深紫色+黑色)

                                     input, background, output image 

哈巴德兹

让我们创建两个示例图像,类似于您显示的图像。请注意,这只是创建两个不太乏味的图像进行测试的简单方法。

bg = bsxfun(@times,permute([0.9, 0.8, 1.0], [1,3,2]), ones(100,100));
obj = bsxfun(@times,permute([0.3, 0.1, 0.4], [1,3,2]), triu(ones(100,100)));

示例图片

现在,通过使用imfuse(bg, obj, 'blend'),您可以应用Alpha混合,这是根据Wikipedia进行的

the process of combining an image with a background to create the appearance of partial or full transparency.

This appears not to be what you want. What you probably want is to take take all non-black parts of obj and place them over bg without any transparency effects. Do do that, we first have to find the black and non-black parts in obj. Secondly, we remove the background wherever we want our object to be. Finally, we can just add obj to it, as black = 0.

% Find and save all parts of obj which are not black
mask = sum(obj,3) > 0;

% Remove background from locations where the object will be placed, then add object
result = bsxfun(@times, bg, ~mask) + obj;

结果

Some more explanation:

In the first line, we use sum(obj,3) to sum R, G, and B for each pixel. By comparing that pixel-wise to zero, we get a matrix mask, which contains a 0 for each pixel that is black in obj, and a 1 otherwise.

然后,使用bsxfun(@times, bg, ~mask),我们将背景图像bg每个通道R,G和B乘以掩模的倒数,即乘以1像素是否为黑色obj(即我们要使用背景),并乘以0是否要替换该像素由对象决定。这样做的结果将是背景图像,用零只要obj不为零,并用其原始值的地方obj 零。因此,我们可以简单地添加obj它并获得我们的结果。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何融合两个图像?

来自分类Dev

如何在javaFX中融合两个图像

来自分类Dev

如何使用glblendfuc融合两个图像?

来自分类Dev

两个图像的多重融合动画

来自分类Dev

如何获得正确的alpha值以完美融合两个图像?

来自分类Dev

在matlab中融合2个以上的图像

来自分类Dev

为什么需要调整第一个图像的大小以融合两个图像?

来自分类Dev

如何通过访问每个像素融合两个图片?

来自分类Dev

如何以编程方式在Android中融合/合并两个视频

来自分类Dev

如何在 Python 中融合 n 维数组的两个轴

来自分类Dev

使用GPUImage将两个视频与色度键融合

来自分类Dev

传单:在两个底图图层之间融合

来自分类Dev

如何使用Swift语法在GPUImage2中将两个图像融合在一起

来自分类Dev

如何在Pandas中融合两个数据框

来自分类Dev

如何融合图像蒙版?

来自分类Dev

PHP融合两个数组

来自分类Dev

两个数组的融合排序

来自分类Dev

两个数组的条件融合

来自分类Dev

如何在 MATLAB 中融合多个图像而不会使图像淡出?

来自分类Dev

如何在OpenCV中融合多个图像?

来自分类Dev

卡尔曼滤波器-两个相等传感器的融合

来自分类Dev

使用 UNION 合并并融合两个 SQL 查询的结果

来自分类Dev

试图创建一个活动的按钮效果。如何使我的两个插入框阴影融合为一个?

来自分类Dev

蒙版图像融合

来自分类Dev

Matlab中的融合向量

来自分类Dev

如何在matlab中垂直串联两个图像?

来自分类Dev

与GPUImage融合:如何控制第二个图像在第一个图像之上的位置

来自分类Dev

如何拆分和融合?

来自分类Dev

如何通过将NA存根来融合两列?

Related 相关文章

热门标签

归档