Cara menggunakan image processing in php

  • Exif — Exchangeable image information
    • Introduction
    • Installing/Configuring
    • Predefined Constants
    • Exif Functions
  • GD — Image Processing and GD
    • Introduction
    • Installing/Configuring
    • Predefined Constants
    • Examples
    • GD and Image Functions
    • GdImage — The GdImage class
    • GdFont — The GdFont class
  • Gmagick
    • Introduction
    • Installing/Configuring
    • Predefined Constants
    • Examples
    • Gmagick — The Gmagick class
    • GmagickDraw — The GmagickDraw class
    • GmagickPixel — The GmagickPixel class
  • ImageMagick — Image Processing (ImageMagick)
    • Introduction
    • Installing/Configuring
    • Predefined Constants
    • Examples
    • Imagick — The Imagick class
    • ImagickDraw — The ImagickDraw class
    • ImagickPixel — The ImagickPixel class
    • ImagickPixelIterator — The ImagickPixelIterator class
    • ImagickKernel — The ImagickKernel class

Show

There are no user contributed notes for this page.

Ada yang bisa menjelaskan maksud dari source ini?

list($width, $height) = getimagesize($file);
	$source = imagecreatefromjpeg($file);
	$bwimg = imagecreate($width, $height);
	for ($c=0; $c < 256; $c++) { 
		$palette[$c]=imagecolorallocate($bwimg, $c, $c, $c);
	}
	for ($y=0; $y < $height; $y++) { 
		for ($x=0; $x < $width; $x++) { 
			$rgb = imagecolorat($source, $x, $y);
			$r = ($rgb>>16)&0xFF;
			$g = ($rgb>>8)&0xFF;
			$b = $rgb&0xFF;

			$gs = yiq1($r,$g,$b);
			imagesetpixel($bwimg, $x, $y, $palette[$gs]);
			
		}
	}

Name already in use

A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?

1 branch 0 tags

Code

  • Use Git or checkout with SVN using the web URL.

  • Open with GitHub Desktop
  • Download ZIP

Latest commit

Files

Permalink

Failed to load latest commit information.

Type

Name

Latest commit message

Commit time

Tugas Besar Pengolahan Citra Digital
====================================
Muhammad Habib Fikri Sundayana

====================================

Untuk menjalankan program, pada root folder jalankan perintah:

php -S localhost:8000

Kemudian, buka http://localhost:8000/ pada browser

Fungsionalitas yang dikerjakan:
- gambar menjadi 3 matriks RGB (image2matrix.php)
- grayscale (grayscale.php)
- pergeseran gambar (slide.php)
- zoom (zoom.php)
- rotate (rotate.php)
- increase/decrease brightness (brightness.php)
- double/half brightness (kalibright.php)
- zigzag warp (warping.php)
- convulsion - box blur & gaussian blur (convulsion.php)
- smoothing - mean & median (smooth.php)
- image sharpening (sharpen.php)
- edge detection (edge.php)
- erosi (erosion.php)
- dilasi (dilation.php)

Struktur Folder
root
|-- documentation/		Folder yang berisi dokumentasi setiap fungsi
|-- function/			Folder yang berisi fungsi-fungsi yang digunakan program
|-- js/					Folder JavaScript
  |-- code.js			File JavaScript untuk memanggil fungsi-fungsi di folder function/
|-- habib.jpg			Contoh image beresolusi sedang
|-- habibkecil.jpg		Contoh image beresolusi kecil
|-- index.html			File yang berisi tampilan program
|-- lenna.png			Contoh image beresolusi tinggi
|-- README.txt			File ini


Tools yang digunakan
- HTML untuk tampilan
- JavaScript untuk memanggil fungsi dan mengembalikan hasil ke tampilan
- PHP untuk pemrosesan gambar

Istilah ‘Manipulasi’ di sini, bukanlah manipulasi yang bersifat negatif :-). Istilah ini terkait dengan pengolahan image untuk menghasilkan image baru. Yang dimaksud dalam manipulasi image di sini adalah ‘image filtering’. Dalam dunia image processing, tentu hal ini bukanlah hal yang baru lagi. Nah… pada artikel kali ini akan dibahas bagaimana cara memanipulasi image dengan PHP yang dapat dilakukan dengan sangat mudah.

Untuk memanipulasi image dengan PHP, telah tersedia function imagefilter(). Apabila Anda masih menggunakan PHP 4, maka Anda tidak akan menemukannya karena function ini hanya ada di PHP 5. Oleh karena itu segeralah bermigrasi ke PHP 5 bila masih menggunakan PHP 4 :-).

Dengan menggunakan imagefilter(), Anda bisa melakukan filtering image seperti mengatur tingkat brightness, kontras, mengubah image ke bentuk negatif, memberikan efek emboss, memberikan efek sketch, mengubah true color image ke grayscale, melakukan proses edge detection, memperhalus image (smoothing), serta memberikan efek blur.

Secara umum, sintaks dari imagefilter() adalah sebagai berikut:

imagefilter(image asli, tipe filtering, [argumen])

Untuk tipe filtering yang dapat Anda gunakan adalah:

– IMG_FILTER_NEGATE, digunakan untuk membuat image negatif
– IMG_FILTER_GRAYSCALE, mengkonversi ke grayscale
– IMG_FILTER_BRIGHTNESS, mengatur tingkat brightness
– IMG_FILTER_CONTRAST, mengatur tingkat kontras
– IMG_FILTER_COLORIZE, mengatur skala warna RGB
– IMG_FILTER_EDGEDETECT, menghasilkan image dari proses edge detection
– IMG_FILTER_EMBOSS, memberikan efek timbul (emboss)
– IMG_FILTER_GAUSSIAN_BLUR, memberikan efek blur (Gaussian Blur)
– IMG_FILTER_SELECTIVE_BLUR, memberikan efek blur (Selective Blur)
– IMG_FILTER_MEAN_REMOVAL, memberikan efek sketch
– IMG_FILTER_SMOOTH, memperhalus image

Dalam hal ini, parameter ‘argumen’ sifatnya adalah optional.

Selanjutnya bagaimana cara penggunaannya? Ini dia contohnya. Dalam contoh ini, saya ambil sampel sebuah image berformat JPG dari foto anak saya Faza 🙂

Foto Asli

Cara menggunakan image processing in php

negatif.php

Hasilnya adalah:

Cara menggunakan image processing in php

grayscale.php

Hasilnya adalah:

Cara menggunakan image processing in php

brightness.php

Hasilnya adalah:

Cara menggunakan image processing in php

contrast.php

Hasilnya adalah:

Cara menggunakan image processing in php

colorize.php

Pada imagefilter() di atas, nilai 10 pada parameter tersebut mengatur skala untuk warna merah (RED), 100 untuk hijau (GREEN), dan 20 untuk biru (BLUE).

Hasilnya adalah:

Cara menggunakan image processing in php

edgedetection.php

Hasilnya adalah:

Cara menggunakan image processing in php

emboss.php

Hasilnya adalah:

Cara menggunakan image processing in php

gaussian.php

Hasilnya adalah:

Cara menggunakan image processing in php

sketch.php

Hasilnya adalah:

Cara menggunakan image processing in php

smooth.php

Hasilnya adalah:

Cara menggunakan image processing in php

Anda dapat pula menggabung beberapa proses filtering dalam satu script, misalnya

grayscale-sketch.php

Hasilnya adalah:

Cara menggunakan image processing in php

OK… that’s it, beberapa jenis filtering yang dapat Anda lakukan dengan function imagefilter(). Pada contoh ini, source image berasal dari sebuah file. Nah.. Anda dapat pula mengembangkan script untuk filtering image yang berasal dari database.

Selamat mencoba, mudah-mudahan ada manfaatnya dan nantikan tips dan trik web programming selanjutnya di blog ini.

Bagikan artikel ini jika bermanfaat !