$img=imagecreatefromjpeg('http://site.com/test.jpg'); // необходимо выбрать функцию, соответствующую типу изображения!
$w=imagesx($img);
$h=imagesy($img);
for ($i=0; $i<$h; $i++) {
for ($j=0; $j<$w; $j++) {
$col=imagecolorat($img, $j, $i);
$rgb=imagecolorsforindex($img, $col);
$b=$rgb["red"]+$rgb["green"]+$rgb["blue"];
$b=round($b/765*255);
$col=imagecolorallocate($img, $b, $b, $b);
imagesetpixel($img, $j, $i, $col);
}
}
header('content-type:image/jpeg');
imagejpeg($img);
По данным O\'REILLY Pocket Reference все функции времен PHP 3.0.x 🙂
пример:

найдено тут: http://pyha.ru/forum/topic/344.0

