• 拓端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开始
  • 相关阅读:
    【HMS Core】AOSP11安装/预置HMS Core 可以关闭限制广告跟踪吗?
    速通Redis基础(一):掌握Redis的字符串类型和命令
    万物归宗系列01-html基本语法
    软件著作申请流程笔记
    龙芯电脑编译redis (loongarch)
    代码随想录算法训练营第23期day38|动态规划理论基础、509. 斐波那契数、70. 爬楼梯、746. 使用最小花费爬楼梯
    Spring篇---第六篇
    Could not load library libcudnn_cnn_train.so.8, 解决类似问题的思路与方法
    KTL 一个支持C++14编辑公式的K线技术工具平台 - 第七版,体验GPGPU。
    Spring 循环依赖
  • 原文地址:https://blog.csdn.net/tecdat/article/details/127532792