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

Matrix Arithmetic

Magick Package

Pemrosesan 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)

Memotong dan Mengedit Gambar

  1. image_crop(image, "1080x1920+10") : memotong gambar dengan panjang 1080px dan tinggi 1920px dimulai +10px dari kiri.

  2. image_scale(image, "250") : mengubah ukuran secara proporsional dengan lebar 250px.

  3. image_scale(image, "x500") : mengubah ukuran secara proporsional dengan panjang 250px.

  4. image_fill(image, "green" + "+10+10") : mengisi dengan warna hijau dari titik x:10 dan y:10.

  5. 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.

    Efek dan Filter

    #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)