Library magick adalah sebuah package di rstudio yang bisa digunakan untuk mengedit,menampilkan, membaca gambar digital dalam berbagai format. package ini memungkinkan pengguna untuk memanipulasi gambar secara programatik. Langkah pertama yang harus kita lakukan yaitu 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 langsung melakukan praktik dengan menggunakan foto favorit kalian.
# Reading image
inp_img <- image_read("https://blog-media.lifepal.co.id/app/uploads/sites/3/2021/08/24112301/shutterstock_1453700855.jpg")
inp_img
untuk informasi gunakan syntax image_info
image_info(inp_img)
## format width height colorspace matte filesize density
## 1 JPEG 685 385 sRGB FALSE 80331 72x72
gunakan plot untuk mengeluarkan foto
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 = 40, hue = 40)
# Rotate or mirror
image_rotate(mod_img, 45)
plot(mod_img)
#Brightness, Saturation, Hue
imp = image_modulate(inp_img, brightness = 100, saturation = 100, hue = 100)
imp
untuk memberi background pada gambar
image_border(image_background(inp_img,"hotpink"),"#39FF14","20x10")
selanjutnya coba 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
image_flip(inp_img)
#untuk image_rotate yang dimasukkan adalah besar sudut
image_rotate(inp_img, 90)
lakukan pengaturan terhadap brightness,saturation, dan hue pada
gambar
image_modulate(inp_img, brightness = 100,saturation = 140, hue = 60)
#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)
Bisa juga digunakan untuk mengimport gambar dari internet.
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
Sumber : https://cran.r-project.org/web/packages/magick/vignettes/intro.html#Base_R_rasters