我有两个数字 - 一个是系统发育树,另一个是天际线图(带有阴影位的线图)。
我想将树叠加到天际线上,如下所示:
这两个数字都是带有白色背景的tiff文件。
这可以用MATLAB吗?我的线图是用MATLAB制作的。
我也有插画家(CS6),但我是一个完整的新手...
谢谢!
答案 0 :(得分:2)
加载两个图像,然后合并它们,假设透明度为0.5
。因此,假设您的树形图位于名为imtree
的图像中,而天际线图则位于名为imskyline
的图像中。将这些加载到MATLAB中,然后简单地执行此操作:
out = uint8(0.5*double(imtree) + 0.5*double(imskyline));
在此之后,使用imshow(out);
显示您的图像并查看其外观。希望这会有效,因为我无法访问您的实际图像!
你可能不得不玩常数。也许更重要的是树的重量,而天际线的情节更少。如果上述方法无效,请尝试以下方法:
out = uint8(0.75*double(imtree) + 0.25*double(imskyline));
或者,如果上述方法不起作用,请尝试imfuse
以自然的方式将两个图像混合在一起:
out = imfuse(imtree,imskyline,'blend','Scaling','joint');
上面的代码所做的是它自然地融合图像,并以这样的方式缩放两个图像之间的颜色,使它们能够很好地相互配合。
答案 1 :(得分:0)
此刻我无法尝试,但我想你想把一张图片放在彼此的顶部。
假设在您可以看到第二张图片的地方,顶部图片为NaN
:
idx= ~isnan(frontimage)
backimage(idx) = frontimage(idx)
您可能需要先进行一些填充或缩放,因为这需要图像大小相同。