Halo para pembaca blog tutorinaja, kali ini saya akan
memberikan tutorial bagaimana caranya kita bisa merubah warna dari gambar yang
kita buka menjadi warna lain misalnya grayscale. Penasaran kan? Langsung aja
kita mulai.
Pernah gak sih kita kepikiran untuk ingin mengubah gambar
yang kita buka menjadi grayscale / hitam putih secara otomatis. Nah di linux,
kita bisa melakukan hal tersebut. Pertama – tama, kita perlu untuk membuat
sebuah program yang bisa menjalankan sebuah perintah secara otomatis, yaitu
adalah daemon. Program daemon ini memungkinkan kita untuk bisa menjalankan
sebuah perintah yang ada secara otomatis tanpa harus kita run berulang – ulang
kali. Ini dia contoh template dari daemon:
Nah bisa kita liat sendiri,
ini adalah contoh implementasi dari daemon. Lalu, kita harus memasukkan
perintah yang ingin kita jalankan secara otomatis kedalam codingan ini. Kita
akan menempatkan perintahnya di while(1), di bari ke – 4 sebelum terakhir.
Kalau kita lihat, di dalam while juga ada fungsi sleep() disitu. Itu berfungsi untuk mendelay proses yang ada di dalamnya. Waktu delay kita tentukan sendiri dengan menginput detiknya di dalam kurung dari fungsi sleep(). Misal bila kita ingin mendelay prosesnya selama 2 menit, maka kita kita tulis sleep(120). Jadi, nanti codingan perintah untuk misalnnya pada bahasan ini adalah mengubah
gambar berwarna menjadi grayscale otomatis, akan dimasukkan di dalam while
tersebut. Mungkin akan lebih jelas lagi bila kita sudah memasukkan codingan
merubah gambar menjadi grayscalenya ke dalam while, ini dia contohnya:
Oiya sebelumnya maaf gambarnya kepotong karena kodingannya kepanjangan jadi gak bisa discreenshoot hehe.
Pertama untuk merubah sebuah
gambar menjadi grayscale, tentu kita harus tau mana yang gambar. Jadi, kita
menggunakkan fungsi ps aux | grep .jpg | grep –v grep | awk 'END{print $NF} untuk mengetahui
apakah ada proses yang sedang terjadi yang proses itu merupakan proses membuka
gambar dengan format .jpg. Fungsi ps aux sendiri merupakan fungsi untuk melihat
proses – proses apa saja yang sedang berjalan, sedangkan grep .jpg berfungsi
untuk menangkap sebuah string dengan keyword .jpg. Jadi ketika proses yang
sedang berjalan sudah kita ketahui, maka kita mencari mana yang ada .jpgnya,
yang mengindikasikan kalo kita sedang membuka gambar. Fungsi popen() berfungsi
untuk mereturn nilai dari fungsi yang berada di dalam kurungnya. Dengan begitu, kita sudah mendapatkan prosesnya, kita akan mendapatkan nama dari .jpg. Setelah itu kita masukkan ke variabel baru yang
dalam contoh ini adalah fp.
Gambar diatas merupakan
fungsi yang akan kita gunakan mempersiapkan nama dari gambar grayscale yang kita buat.
Fungsi di baris pertama dari
if diatas adalah untuk menghilangkan .jpg dari nama file yang sedang kita buka
yang sebelumnya namanya telah kita masukkan ke array tipe_file. Jadi nanti kita
hanya mendapatkan namanya saja, misal bila gambar yang dibuka namanya “gambar.jpg”,
maka kita akan mendapat “gambar” saja. Lalu char nama berfungsi sebagai
penyimpan nama file dari gambar
grayscalenya. Karena saya menginginkan agar nama outputnya menjada (nama
gambar)_copy.jpg maka saya menuliskannya seperti itu.
Setelah itu, baru kita masuk
ke converting gambar ke grayscale
dengan:
if disitu berfungsi untuk
hanya membuat gambar grayscale yang kita buka sekali saja. Karena kalau tidak
seperti itu, komputer akan terus menerus membuat gambar grayscale dari gambar
yang kita buka berulang – ulang kali sampai proses dari daemonnya kita kill /
matikan di terminal. Dan akibatnya komputer kita akan lag. Lalu tiga baris
fungsi yang ada di dalamnya berfungsi untuk menconvert gambar menjadi grayscale.
Bagaimana? Mudah sekali kan,
semoga tutorial kali ini bermanfaat dan bisa dipahami. Jangan lupa tinggalkan
komentar agar blog ini bisa lebih baik lagi. Sampai jumpa, terima kasiiiihh.





Tidak ada komentar:
Posting Komentar