动手做系列:R语言中的高级图像处理
“ImageMagick”是可用于编辑和操作不同类型图像(光栅和矢量图像)的著名开源库之一。 magick是R的高级图像处理中的'ImageMagick'绑定的R包,由Jeroen Ooms撰写。
magick支持许多常见的图像格式,如png、jpeg、tiff和旋转、缩放、裁剪、修剪、模糊、翻转、注释等操作。
本文旨在帮助您开始使用magick处理、编辑和处理R中的图像,这些图像可以是任何文件格式转换(例如,从png到jpeg)或注释R图形输出。
magick可以在CRAN上使用,也可以在ropensci的github上使用。
让我们加载这个库并通过image_read()从网络上读取我们的第一个图像。
如上所述,确保您已经安装了用于成功读取图像的更新版本的curl包。
我们可以通过image_info()获取读取图像的基本细节
通过与RStudio进行通信,magick可让您在RStudio查看器窗格中打印/显示图像。
无论您是Web开发人员,还是您正在制作一个powerpoint平台,图像文件格式转换是我们最终要做的操作之一,而这实际上是使用magick的image_write()进行的单行操作。
下面是我们从维基百科上看到的奥巴马形象的PNG格式:
但是你可能会想到,“这只是基本的图像处理,你不知道这是先进的吗?是的,这里有一些先进的东西,还有一个好消息,magick可以支持pipe%>%操作符。
这就是我们要做的事情:
给出这个输出:
输出图像是怎样的?它是艺术不是么
但这不是数据科学家每天都想要做的,相反,我们使用Plots并且大多数时候想要注释R图形输出,以下是如何使用magick的image_annotate()来做这件事
给出这个输出图像:
这只不过是magick能做什么的一点小分析。从字面上看,magick中留下了许多魔力,您可以亲自尝试一下,这里使用的代码可以在github上找到。(https://github.com/amrrs/blogpost_codes/blob/master/magick_r.R)