Nama : Fairuz Ardhan Haunan
NIM : 220605110038
Kelas : Linear Algebra A
Dosen Pengampu : Prof. Dr. Suhartono, M.Kom.
Jurusan : Teknik Informatika
Universitas : UIN Maulana Malik Ibrahim Malang
Magick PackagePemrosesan gambar dalam machine learning merupakan salah satu hal yang sangat penting. Contohnya adalah melatih mesin untuk mengenali seseorang yang mencurigakan menggunakan kameran keamanan. Pada contoh ini, digunakan magick package dalam R untuk mendemonstrasikan pemrosesan gambar tanpa adanya detail.
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
str(magick::magick_config())
## List of 24
## $ version :Class 'numeric_version' hidden list of 1
## ..$ : int [1:4] 6 9 12 3
## $ modules : logi FALSE
## $ cairo : logi TRUE
## $ fontconfig : logi FALSE
## $ freetype : logi TRUE
## $ fftw : logi TRUE
## $ ghostscript : logi TRUE
## $ heic : logi TRUE
## $ jpeg : logi TRUE
## $ lcms : logi TRUE
## $ libopenjp2 : logi TRUE
## $ lzma : logi TRUE
## $ pangocairo : logi TRUE
## $ pango : logi TRUE
## $ png : logi TRUE
## $ raw : logi TRUE
## $ rsvg : logi TRUE
## $ tiff : logi TRUE
## $ webp : logi TRUE
## $ wmf : logi FALSE
## $ x11 : logi FALSE
## $ xml : logi TRUE
## $ zero-configuration: logi TRUE
## $ threads : int 1
Kemudian kita arahkan mesin untuk mengambil foto dari folder yang kita arahkan.
# Membaca dari local computer.
gambar <- image_read("D:/SEMESTER 2/Linear Algebra/Foto/Gambar.png")
Kita tampilkan gambar tersebut
gambar
Atau bisa juga menggunakan foto dari internet.
gambar2 <- image_read("https://i.pinimg.com/564x/dd/cd/77/ddcd777e0b47bdf000423aafc02b2e9f.jpg")
gambar2
Kita dapat mengambil informasi mengenai gambar tersebut.
image_info(gambar2)
## format width height colorspace matte filesize density
## 1 JPEG 564 1128 sRGB FALSE 101706 72x72
Kita dapat membuat plot dari gambar tersebut
plot(gambar2)
Kemudian dapat kita modifikasi gambar yang telah ada sebelumnya.
ubah_gambar <- image_modulate(gambar2, brightness = 70, saturation = 75,
hue = 45)
Dapat kita lihat bahwasannya variable “ubah_gambar” menyimpan bentuk
modifikasi dari gambar2 menggunakan function
image_modulate() dengan mengubah brigtness menjadi 70,
saturasi menjadi 75, dan hue menjadi 45.
plot(ubah_gambar)
image_crop(image, "1080x1920+10") : memotong gambar
dengan panjang 1080px dan tinggi 1920px dimulai +10px dari
kiri.
image_scale(image, "250") : mengubah ukuran secara
proporsional dengan lebar 250px.
image_scale(image, "x500") : mengubah ukuran secara
proporsional dengan panjang 250px.
image_fill(image, "green" + "+10+10") : mengisi
dengan warna hijau dari titik x:10 dan y:10.
image_border(image, “black”, “45x15”) :
menambahkan batas 45px kiri+kanan dan 15px atas+bawah.
sumber <- image_read("https://i.pinimg.com/564x/82/96/85/82968554a9d2ccde10119cf55ea56f78.jpg")
print(sumber)
## format width height colorspace matte filesize density
## 1 JPEG 564 1128 sRGB FALSE 95651 72x72
sumber
image_border(image_background(sumber, "black"), "#000010", "20x15")
image_trim(sumber)
image_crop(sumber, "185x75+50")
image_scale(sumber, "350") #width: 350px
image_scale(sumber, "x250")
image_rotate(sumber, 150)
image_flip(sumber)
# Mengatur kecerahan, saturasi, dan warna
image_modulate(sumber, brightness = 27, saturation = 57, hue = 19)
# Mewarnai dasi ungu
image_fill(sumber, "white", point = "+10+35", fuzz = 15)
Adanya image_fill dapat mengisi dimulai dari titik
piksel. Parameter Fuzz berfungsi untuk memungkinkan adanya isian yang
menyilang antar piksel yang berdekatan dengan warna yang hampir
serupa.
#Menambahkan Blur
image_blur(sumber, 78, 3)
#Menambahkan Noise
image_noise(sumber)
image_charcoal(sumber)
image_oilpaint(sumber)
image_negate(sumber)
Menambahkan bayangan
image_shadow(sumber)
Menambahkan motion blur
image_motion_blur(sumber)