• 拓端tecdat|R语言高级图像处理


    ImageMagick库具有大量功能。本文简要介绍了最重要的入门概念。

    安装 magick

    在的Windows或OS-X上,通过CRAN最容易安装软件包。

    install.packages("magick")

    二进制CRAN包开箱即用。

    library(magick)
    1. ## Linking to ImageMagick 6.9.9.39
    2. ## Enabled features: cairo, fontconfig, freetype, lcms, pango, rsvg, webp
    3. ## Disabled features: fftw, ghostscript, x11
    str(magick::magick_config())
    1. ## List of 21
    2. ## $ version :Class 'numeric_version' hidden list of 1
    3. ## ..$ : int [1:4] 6 9 9 39
    4. ## $ modules : logi FALSE
    5. ## $ cairo : logi TRUE
    6. ## $ fontconfig : logi TRUE
    7. ## $ freetype : logi TRUE
    8. ## $ fftw : logi FALSE
    9. ## $ ghostscript : logi FALSE
    10. ## $ jpeg : logi TRUE
    11. ## $ lcms : logi TRUE
    12. ## $ libopenjp2 : logi TRUE
    13. ## $ lzma : logi TRUE
    14. ## $ pangocairo : logi TRUE
    15. ## $ pango : logi TRUE
    16. ## $ png : logi TRUE
    17. ## $ rsvg : logi TRUE
    18. ## $ tiff : logi TRUE
    19. ## $ webp : logi TRUE
    20. ## $ wmf : logi FALSE
    21. ## $ x11 : logi FALSE
    22. ## $ xml : logi TRUE
    23. ## $ zero-configuration: logi TRUE

    从源构建

    sudo apt-get install libmagick++-dev
    sudo yum install ImageMagick-c++-devel

    要在OS-X上从源代码安装,您需要imagemagick@6自制软件。

    1. brew reinstall imagemagick@6 --with-fontconfig --with-librsvg
    2. brew link --force imagemagick@6

    自制软件中的默认imagemagick配置会禁用一系列功能。

    图像IO

    读和写

    可以使用带有图像数据的文件路径,URL或原始向量直接读取图像image_read。该image_info函数显示了一些关于图像的元型态数据,类似于ImageMagick的  identify命令行实用程序。

    1. print(tiger)
    1. ## format width height colorspace matte filesize density
    2. ## 1 PNG 400 400 sRGB TRUE 0 72x72

    使用我们image_write以任何格式将图像导出到磁盘上的文件或内存中。

    image_write(tiger, path = "tiger.png", format = "png")
    

    转换格式

    Magick以原始格式将图像保存在内存中。要指定为转换格式其他的format参数image_write。在应用转换之前,您还可以在内部将图像转换为其他格式。如果您的原始格式有损,这可能很有用。

    1. tiger_png <- image_convert(tiger, "png")
    2. image_info(tiger_png)
    1. ## format width height colorspace matte filesize density
    2. ## 1 PNG 400 400 sRGB TRUE 0 72x72

    在Linux的上,您使用image_display在X11窗口中预览图像。

    1. # X11
    2. image_display(tiger)
    3. # 依赖系统
    4. image_browse(tiger)

    另一种方法是将图像转换为光栅对象并将其绘制在R的图形显示上。

    转换

    下面举几个例子来了解。

    剪切和编辑

    转换一些函数采用一个geometry参数,该参数需要表单的特殊语法,AxB+C+D。其中每个元素都是可选的一些例子:

    • image_crop(image, "100x150+50")裁剪width:100px并从左侧height:150px开始
  • 相关阅读:
    Firefox浏览器:我不卖
    Seata分布式事务
    股价暴跌了55.9%后,投资者需密切关注名创优品的财务前景
    牛蛙!GoFrame2.7正式版的监控组件真是及时雨
    华为荣耀手机,开启开发者选项,hbuilder调试依然找不到
    T1066 满足条件的数累加(信息学一本通C++)
    身临其境之谁是猎人
    博士新生应该懂得哪些道理? - 易智编译EaseEditing
    hexdump 命令 -e 选项
    idea远程debug
  • 原文地址:https://blog.csdn.net/tecdat/article/details/127532792