如何使用magick软件包删除图像背景?

Mat*_*ach 1 r imagemagick ggimage

是否可以通过magick包装去除图像的背景?

我知道如何在Gimp / Inkscape中使用边缘检测来裁剪轮廓。但是,我希望使用来自动处理大量图像R

我的最终目标是使用该ggimage程序包将这些图像绘制为x,y坐标,但是这些图像的背景当前与该绘制重叠(与芬克相比,这只狗是狗)

library("ggplot2")
library("ggimage")

set.seed(2017-02-21)
d <- data.frame(x = rnorm(10),
                y = rnorm(10),
                image = sample(c("http://www.supercoloring.com/sites/default/files/silhouettes/2015/05/cairn-terrier-black-silhouette.svg", "https://jeroenooms.github.io/images/frink.png"),
                               size=10, replace = TRUE)
                )

ggplot(d, aes(x, y)) + geom_image(aes(image=image))
Run Code Online (Sandbox Code Playgroud)

输出

可以使用image magick的图像修剪图像的边缘 image_trim()

img <- image_read_svg("http://www.supercoloring.com/sites/default/files/silhouettes/2015/05/cairn-terrier-black-silhouette.svg")
image_trim(img)
Run Code Online (Sandbox Code Playgroud)

但这不是我想要的。

有任何想法吗?

Mar*_*ius 5

image_transparent()函数执行此操作,例如:

logo <- image_read("logo:")
image_transparent(logo, 'white')
Run Code Online (Sandbox Code Playgroud)

图像的白色部分将变得透明,这对于示例中的简单图像应该足够了。