Library Magick

Library magick adalah sebuah package di rstudio yang bisa digunakan untuk mengedit, membaca gambar digital dalam berbagai format. package ini memungkinkan pengguna untuk memanipulasi gambar secara programatik. Untuk menggunakannya ketikkan “install.packages(”magick”)” dan untuk memanggil library itu kita perlu menuliskan”library(magick)“

library(magick)
## Warning: package 'magick' was built under R version 4.2.3
## Linking to ImageMagick 6.9.12.3
## Enabled features: cairo, freetype, fftw, ghostscript, heic, lcms, pango, raw, rsvg, webp
## Disabled features: fontconfig, x11

Mari kita melakukan beberapa pengeditan

# Reading image
inp_img <- image_read("https://camo.githubusercontent.com/e07359e9dd41189b2f24af09095da07a707effb9c34745aa91af606cca5ed680/68747470733a2f2f692e696d6775722e636f6d2f486654627733302e706e67")
inp_img

Untuk mendapatkan informasi tentang foto maka gunakan syntax image_info

image_info(inp_img)
##   format width height colorspace matte filesize density
## 1    PNG   640    480       sRGB  TRUE    65745   72x72

dan untuk mendapatkan keluaran foto gunakan plot

plot(inp_img)

Kita bisa juga untuk melakukan edit terhadap skala pada foto, memberi border, memberi background dan sebagainya

mod_img <- image_modulate(inp_img, brightness = 120, saturation = 20, hue = 20)
plot(mod_img)

#Brightness, Saturation, Hue
imp = image_modulate(inp_img, brightness = 100, saturation = 100, hue = 100)
imp

Kita coba untuk memberi background pada gambar

image_border(image_background(inp_img,"hotpink"),"#39FF14","20x10")

sekarang kita coba untuk merubah skala pada foto, perlu diketahui bahwa ukuran yang dimasukkan adalah dalam satuan pixel, jika kita hanya memberikan 100 itu bekerja untuk width, sedangkan jika kita tambahkan huruf x di depan angka itu akan bekerja untuk merubah height

image_scale(inp_img,"100")

image_scale(inp_img,"x100")

kita bisa juga untuk mengrotate, melakukan flip, contohnya seperti berikut

image_flip(inp_img)

#untuk image_rotate yang dimasukkan adalah besar sudut
image_rotate(inp_img, 90)

dan jug akita bisa melakukan pengaturan terhadap brightness,saturation, dan hue pada gambar

image_modulate(inp_img, brightness = 100,saturation = 140, hue = 60)

Library magick juga memiliki banyak sedek standar yang patut dicoba

#melakukan efek blur pada gambar
image_blur(inp_img, 10, 5)

#memberi efek noise pada gambar
image_noise(inp_img)

# Silly filters
image_charcoal(inp_img)

Kita bisa juga untuk meimport gambar dari internet seperti berikut

earth <- image_read("https://jeroen.github.io/images/earth.gif") %>%
  image_scale("200x") %>%
  image_quantize(128)

length(earth)
## [1] 44
earth

head(image_info(earth))
##   format width height colorspace matte filesize density
## 1    GIF   200    200        RGB FALSE        0   72x72
## 2    GIF   200    200        RGB  TRUE        0   72x72
## 3    GIF   200    200        RGB  TRUE        0   72x72
## 4    GIF   200    200        RGB  TRUE        0   72x72
## 5    GIF   200    200        RGB  TRUE        0   72x72
## 6    GIF   200    200        RGB  TRUE        0   72x72