跳到目录

R中的高级图像处理

绑定到ImageMagick:可用的最全面的开源图像处理库。支持多种常见格式(png、jpeg、tiff、pdf等)和操作(旋转、缩放、裁剪、修剪、翻转、模糊等)。所有操作都通过Magick++STL矢量化,这意味着它们可以在单个帧或一系列帧上操作,以处理层、拼贴或动画。在RStudio中,图像在打印到控制台时会自动预览,从而形成交互式编辑环境。

你好,世界

在RStudio中运行示例观看图像的实时预览!如果不使用RStudio,请使用图像浏览打开图像。在Linux上,您还可以使用图像_显示以获得X11预览。

图书馆(魔法)
酒鬼 <- 图像_读取("https://jeroen.github.io/images/frink.png")
图像_边缘(酒鬼)
图像_缩放(酒鬼,“200x200”)
图像_滑动(酒鬼)
图像_旋转(酒鬼,45) ##<--显示结果
图像_负极(酒鬼)
酒鬼 |> 
  image_背景(“绿色”) |> 
  图像_标记() |>
  图像_订单(“红色”,“10x10”)
图像_旋转(酒鬼,45) |> 图像_写入(“男人/数字/frink-rotated.png”)

影响

图像_油画(酒鬼)
图像_就业(酒鬼)
图像_焦炭(酒鬼) ##<--显示结果
图像_模糊(卷曲)
图像边缘(_E)(酒鬼)
图像_焦炭(酒鬼) |> 图像_写入(“男人/数字/frink-charcoal.png”)

创建GIF动画:

#下载图像
旧徽标 <- 图像_读取("https://developer.r-project.org/Logo/Rlogo-2.png")
新徽标 <- 图像_读取("https://jeroen.github.io/images/Rlogo-old.png")
徽标 <- c(c)(旧徽标,新徽标)
徽标 <- 图像_缩放(徽标,“400x400”)

#创建GIF
(动画1 <- 图像_动画(徽标))
图像_写入(动画1,“男子/数字/anim1.gif”)

#变形效果<--显示结果
(动画2 <- 图像_动画(图像_形状(徽标,个框架= 10)))
图像_写入(动画2,“人/数字/anim2.gif”)

读取GIF动画帧。请参阅旋转地球示例GIF.

地球 <- 图像_读取("https://upload.wikimedia.org/wikipedia/commons/2/2c/Rotating_earth_%28large%29.gif")
长度(地球)
地球[1]
地球[1:]
接地1 <- 转速(图像_滑动(地球)) ##澳大利亚人如何看待地球
图像_写入(接地1,“人/数字/地球1.gif”) ##<--显示结果

带有跳舞香蕉的R标志

标志 <- 图像_读取("https://www.r-project.org/logo/Rlogo.png")
香蕉 <- 图像_读取("https://jeroen.github.io/images/banana.gif")
前面 <- 图像_缩放(香蕉,"300")
背景 <- 图像_缩放(标志,"400")
框架 <- 重叠地(作为列表(前面),功能(x个) 图像_标记(c(c)(背景,x个)))
图像_写入(图像_动画(image_join(图像连接)(框架)),“人/数字/Rlogo香蕉.gif”)

在闪亮应用程序中使用魔法

此演示应用程序演示了如何将magick与shirn:https://github.com/jeroen/shinymagic

安装

的二进制包macOS操作系统窗户可直接从CRAN安装:

安装.包(“魔法”)

在Linux或OSX上从源代码安装需要imagemagickMagick公司++库。打开Debian或Ubuntu安装libmagick++-开发:

sudo apt-get安装-y libmagick++-dev

打开费多拉,CentOS或RHEL我们需要ImageMagick-c++-开发。然而,在CentOS上,ImageMagick的系统版本相当旧。最新版本可从ImageMagick下载网站。

sudo yum安装ImageMagick-c++-devel

打开macOS操作系统使用imagemagick@6来自Homebrew。

brew安装imagemagick@6

未版本化的自制公式imagemagick公司也可以使用,但它有一些未解决的OpenMP问题。

还有一个名为graphicsmagick的imagemagick分支,但这不适用于此包。