Nama : Muhamad Maulana Akbar

NIM : 220605110091

Dosen Pembimbing : Prof. Dr. Suhartono, M.Kom

Lembaga : Universitas Islam Negeri Maulana Malik Ibrahim Malang

Jurusan : Teknik Informatika

Fakultas : Sains dan Teknologi

Untuk memproses gambar untuk video game, menganalisis data, kamera keamanan,dll., penting untuk dapat mengompresi gambar secara efisien, karena gambar dapat mengambil sejumlah besar memori. Jika kami tidak mengompres gambar secara efisien maka kami mungkin kehilangan terlalu banyak informasi sehingga kami tidak dapat memulihkan yang asli gambar, atau jika kami tidak cukup mengompres, maka kami mungkin tidak dapat memproses foto. Untuk contoh kali ini kita akan membahas bagaimana cara kita mengompres gambar menggunakan PCA. Dalam proses PCA, kami menghitung nilai eigen dan vektor eigen dari matriks dihitung dari gambar masukan.

Kita akan menggunakan contoh gambar dari internet

Gambar ini disimpan sebagai file jpeg. Di dalam untuk membaca file jpeg kita akan menggunakan fungsi readJPEG() dari jpeg paket di R

## library need to open a jpg file
library(jpeg)
## Download from the author’s website
myurl <- "https://cdn11.bigcommerce.com/s-ubg9970srq/images/stencil/original/image-manager/01-mvdp-selle-italia.jpg?t=1657615201"
z <- tempfile()
download.file(myurl,z,mode="wb")
i <- readJPEG(z)
## dimension
d <- dim(i)

Argumen dari fungsi readJPEG() adalah nama file. Yang redup() fungsi akan mengembalikan dimensi matriks “i”.

d
## [1]  758 1137    3

Ini memiliki dimensi 758 × 1137 × 3. Lapisan pertama dari 758 × 1137 matriks “i” menyimpan semua skor warna merah. Lapisan kedua dari 758 × 1137 matriks dari “i” menyimpan semua skor warna hijau, dan lapisan ketiga dari matriks “i” 758 × 1137 menyimpan semua skor warna biru. Jadi kita berpisah mereka sebagai tiga matriks:

r <- i[,,1]
g <- i[,,2]
b <- i[,,3]