Selamat pagi semuanya 🙂 semoga dalam keadaan sehat selalu
Pagi ini aku mau berbagi pengetahuan baru mengenai pengolahan citra digital. Disini saya memberi contohnya adalah program untuk menampilkan Histogram dari sebuah image/gambar, mengatur Brightness/Kecerahan gambar, Contrast, efek Negasi/Negate, dan efek Grayscale dari suatu gambar/image yang ditentukan. Program yang akan aku bagikan kali ini menggunakan bahasa pemrograman PHP :).
Dalam melakukan olah gambar, pertama kita harus bisa bagaimana cara mengambil pixel dari suatu gambar, mengetahui komposisi warna RGB dari pixel tersebut, kemudian terakhir harus bisa memberi warna baru/memberi nilai integer baru kepada pixel yang sudah kita mabil kemudian disusun menjadi gambar/image baru sesuai matriks/ukuran resolusi gambar awal.
Oke, pertama akan aku tunjukkan bagaiman cara mengambil pixel dari suatu gambar menggunakan PHP :
$imaged = "contoh_gambar.jpg"; $images = imagecreatefromjpeg($imaged); $image_width = imagesx($images); $image_height = imagesy($images); $total_xy = $image_width*$image_height; for($y=0;$y<$image_height;$y++){ for($x=0;$x<$image_width;$x++){ # mengambil komposisi warna RGB gambar $rgb = imagecolorat($images, $x, $y); # mengambil warna Red $r = ($rgb >> 16) & 0xFF; # mengambil warna Green $g = ($rgb >> 8) & 0xFF; # mengambil warna Blue $b = $rgb & 0xFF; # jadi komposisi RGB pixelnya adalah $r $g $b # masing-masing bernilai integer } }
Kemudian, script berikut ini adalah contoh untuk mengatur gambar dengan komposisi pixel RGB yang baru, fungsi ini dapat diterapkan untuk pengaturan grayscale, brightness dan sebagainya.
$img = "contoh_gambar.jpg"; $images_source = imagecreatefromjpeg($img); for($x=0;$x<imagesx($images_source);++$x){ for($y=0;$y<imagesy($images_source);++$y){ $index = imagecolorat($images_source, $x, $y); $rgb = imagecolorsforindex($images_source, $index); # mengambil warna R menggunakan fungsi imagecolorforindex # fungsi tsb hampir sama dengan imagecolorat # bedanya hanya return value $c_red = $rgb['red']; $c_green = $rgb['green']; $c_blue = $rgb['blue']; # ini berfungsi untuk menyusun komposisi warna baru untuk RGB $color = imagecolorallocate($images_source, $c_red, $c_green, $c_blue); # setelah komposisi baru terbentuk # kemudian ditanamkan ke gambar baru imagesetpixel($images_source, $x, $y, $color); } } imagejpeg($images_source, "gambar_baru.jpg", 100); imagedestroy($images_source);
Cukup mudah bukan :mrgreen:, semoga dari potongan kode diatas bisa memberi pencerahan bagi teman-teman. Untuk bagaiman cara bisa melakukan edit brightness, grayscale dan lainnya, tergantung rumus pada masing-masing efek. ( tiap efek ada rumus matematika nya lho…. 😀 )
Oke, untuk script contoh program pengolaha citra digital yang sudah saya janjikan diatas, silahka download disini
Untuk request password silahkan hubungi saya melalui email atau nomor handphone :D, sengaja aku password karena ini merupakan tugasku, dan kebetulan belum dikumpulkan ke dosen,hehehe.
Related articles
- Converting an indexed image into an RGB image (idldatapoint.com)
- Beri watermark pada seluruh gambar (nikko296.wordpress.com)
You must be logged in to post a comment.