escala de grises
hola estoy intentando hacer un programilla que me transforme las imagenes a escala de grises. Mi problema es que al visualizarlo el blanco es azul y no se pq puede suceder esto. el codigo es el siguiente:
<?
$picture="foto.jpg";
$img= imagecreatefromjpeg($picture);
$x= imagesx($img);
$y= imagesy($img);
$copia = imagecreatetruecolor($x, $y);
for ($i=0; $i<$x; $i++)
{
for ($k=0; $k<$y; $k++)
{
$rgb = ImageColorAt($img, 10, 10);
$color = imagecolorsforindex($img, $rgb);
$r = $color['red'];
$g = $color['green'];
$b = $color['blue'];
$num_1=$r*0.2125;
$num_2=$g*0.7154;
$num_3=$b*0.0721;
$lum = ($num_1+$num_2+$num_3);
echo"lum=$lum";
imagesetpixel($copia,$i,$k,$lum);
}
}
imagejpeg($copia,"manzana_gris.jpg");
?>
<?
$picture="foto.jpg";
$img= imagecreatefromjpeg($picture);
$x= imagesx($img);
$y= imagesy($img);
$copia = imagecreatetruecolor($x, $y);
for ($i=0; $i<$x; $i++)
{
for ($k=0; $k<$y; $k++)
{
$rgb = ImageColorAt($img, 10, 10);
$color = imagecolorsforindex($img, $rgb);
$r = $color['red'];
$g = $color['green'];
$b = $color['blue'];
$num_1=$r*0.2125;
$num_2=$g*0.7154;
$num_3=$b*0.0721;
$lum = ($num_1+$num_2+$num_3);
echo"lum=$lum";
imagesetpixel($copia,$i,$k,$lum);
}
}
imagejpeg($copia,"manzana_gris.jpg");
?>