Paket magick menyediakan toolkit modern dan sederhana untuk pemrosesan gambar di R. Ini membungkus ImageMagick STL yang merupakan perpustakaan pemrosesan gambar sumber terbuka terlengkap yang tersedia saat ini.
Pustaka ImageMagick memiliki banyak fungsi. Magick memperlihatkan subset yang layak, tetapi tidak mungkin untuk mendokumentasikan semuanya secara detail. Artikel ini memperkenalkan beberapa konsep dasar dan contoh untuk memulai.
library(magick)
## Linking to ImageMagick 6.9.12.3
## Enabled features: cairo, freetype, fftw, ghostscript, heic, lcms, pango, raw, rsvg, webp
## Disabled features: fontconfig, x11
Image Io
Apa yang membuat tenung begitu ajaib adalah secara otomatis mengonversi dan merender semua format gambar umum. ImageMagick mendukung lusinan format dan secara otomatis mendeteksi jenisnya. Gunakan magick::magick_config() untuk membuat daftar format yang didukung oleh versi ImageMagick Anda.
Read and Write
Gambar dapat dibaca langsung dari jalur file, URL, atau vektor mentah dengan data gambar dengan image_read. Fungsi image_info menunjukkan beberapa data meta tentang gambar, mirip dengan utilitas baris perintah imagemagick mengidentifikasi.
library(magick)
tiger <- image_read_svg('http://jeroen.github.io/images/tiger.svg', width = 350)
print(tiger)
## format width height colorspace matte filesize density
## 1 PNG 350 350 sRGB TRUE 0 72x72
Kami menggunakan image_write untuk mengekspor gambar dalam format apa pun ke file di disk, atau di memori jika path = NULL.
# Render svg to png bitmap
image_write(tiger, path = "tiger.png", format = "png")
Jika jalur adalah nama file, image_write mengembalikan jalur pada kesuksesan sehingga hasilnya dapat disalurkan ke fungsi dengan mengambil jalur file.
Converting formats
Magick menyimpan gambar dalam memori dalam format aslinya. Tentukan parameter format image_write untuk mengonversi ke format lain. Anda juga dapat mengonversi gambar secara internal ke format lain sebelumnya, sebelum menerapkan transformasi. Ini bisa berguna jika format asli Anda lossy.
tiger_png <- image_convert(tiger, "png")
image_info(tiger_png)
## format width height colorspace matte filesize density
## 1 PNG 350 350 sRGB TRUE 0 72x72
Perhatikan bahwa ukuran saat ini 0 karena ImageMagick malas (dalam arti yang baik) dan tidak merender sampai harus.