【问题标题】:Overlay images and set transparency R叠加图像并设置透明度 R
【发布时间】:2018-04-13 07:45:14
【问题描述】:

我有两张图像,我想将一张叠加在另一张之上,这样顶层是透明的,并允许下一层的特征在一定程度上显示出来。

我正在magicimager 软件包中搜索此功能,但似乎无法完成。在link 找到了一个很好的例子,但它似乎使用了一些地理包(光栅格式),但最终结果是我想要的。

图片 1:

图片 2

想要的结果

【问题讨论】:

  • 这是某人的自定义 alpha 函数。可能有用。 menugget.blogspot.com/2012/04/… 如果你想do it in ggplot
  • 谢谢!发现之前,但结果并不完全是我想要的。现在使用EBImage,这似乎很有趣。想要将所有绿色像素(包括所有阴影)更改为蓝色,这似乎令人生畏,但我们会看到。

标签: r image-processing imagemagick


【解决方案1】:

使用 ImageMagick,您可以从“input1.png”开始并以特定的透明度覆盖“input2.png”。 *nix shell 格式的这个命令显示了基础知识...

magick input1.png \
   \( input2.png -channel A -evaluate multiply 0.5 +channel \) \
   -gravity center -composite result.png

首先读取基础映像。然后在括号内读取叠加图像并使用“-evaluate multiply 0.5”将其 alpha 通道不透明度降低到 50%。然后它将半透明叠加层合成到基础图像上。

在该命令中,叠加层将居中。在合成之前设置“-gravity ...”并使用“-geometry +H+V”指定水平和垂直偏移量,这样您就可以将叠加层放置在基础图像上您喜欢的任何位置。

要在 Windows 命令行中使用此命令,应删除转义括号“\(...\)”的反斜杠“(...)”,并且需要删除续行的反斜杠“\”改为插入符号“^”。

【讨论】:

  • 谢谢!有没有办法在 R 中做到这一点?另外,另一个附加组件,我可以使用 magick 包将一种颜色更改为另一种颜色吗?例如。所有绿色实例都将更改为蓝色。
  • 我不知道 R。我在 *nix shell 和 Windows cmd 中使用命令行 ImageMagick。至于将一种颜色更改为另一种颜色,IM 几乎可以做任何您能想象到的事情,从简单到非常复杂,这取决于您的目标。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2014-05-21
  • 1970-01-01
  • 1970-01-01
  • 2020-10-17
  • 1970-01-01
  • 2010-11-09
  • 1970-01-01
相关资源
最近更新 更多