小编Bri*_*dmg的帖子

MATLAB:在RGB图像上应用透明蒙版并与其他图像混合

我有2张图片:前景和背景.前景是一个数字矩阵,范围从-50到300.我通过imagesc显示它.(即这不是RGB图像).背景是RGB图像.

我想先在前景上应用透明蒙版来改变它的外观.这很容易使用

altered_foreground = imagesc(foreground, 'AlphaData', Alphamask)
Run Code Online (Sandbox Code Playgroud)

现在,我想将changed_foreground叠加在背景之上.问题是因为我已经在前台使用了Alphamask,所以我无法通过以下方式叠加它:

imagesc(background)
hold on
bimage = imagesc(altered_foreground)
set(bimage, 'AlphaData', altered_foreground)
Run Code Online (Sandbox Code Playgroud)

(如果我只是想在我要使用的背景上叠加一个未改变的前景,那就不起作用了:

imagesc(background)
hold on
bimage = imagesc(foreground)
set(bimage, 'AlphaData', foreground)
Run Code Online (Sandbox Code Playgroud)

有任何想法吗?

编辑

以下是数据示例:

前景:

下载图片; 键入以下代码来处理它:

Foreground = im2double(imread('500x_54.jpg'));
Foreground = Foreground + 50*randn(101,1);
Run Code Online (Sandbox Code Playgroud)

我改变的前景可以是一些简单的事情,就像让图像的前100列完全透明(实际上,它有点复杂,我对这些值进行阈值处理)

背景:

同样,下载图像并输入:

Background = imread('2-effect1-500x225.jpg');
Run Code Online (Sandbox Code Playgroud)

matlab alpha-transparency

2
推荐指数
1
解决办法
7788
查看次数

标签 统计

alpha-transparency ×1

matlab ×1