Foro de elhacker.net

Programación => PHP => Mensaje iniciado por: CarlosDayan en 31 Mayo 2017, 08:37 am



Título: Obtener el numero de pixeles de cada color
Publicado por: CarlosDayan en 31 Mayo 2017, 08:37 am
Hola, estoy haciendo un programa en php que dada cierta imagen debe decir cuantos pixeles hay de cada color, el problema es que con el codigo que esta abajo me da una inmensa de los colores pixel por pixel, de este modo:

array(4) { ["red"]=> int(255) ["green"]=> int(127) ["blue"]=> int(38) ["alpha"]=> int(0) }
array(4) { ["red"]=> int(255) ["green"]=> int(127) ["blue"]=> int(38) ["alpha"]=> int(0) }
array(4) { ["red"]=> int(255) ["green"]=> int(127) ["blue"]=> int(38) ["alpha"]=> int(0) }
array(4) { ["red"]=> int(255) ["green"]=> int(127) ["blue"]=> int(38) ["alpha"]=> int(0) }
array(4) { ["red"]=> int(255) ["green"]=> int(127) ["blue"]=> int(38) ["alpha"]=> int(0) }
array(4) { ["red"]=> int(255) ["green"]=> int(127) ["blue"]=> int(38) ["alpha"]=> int(0) }
array(4) { ["red"]=> int(255) ["green"]=> int(127) ["blue"]=> int(38) ["alpha"]=> int(0) }
array(4) { ["red"]=> int(255) ["green"]=> int(127) ["blue"]=> int(38) ["alpha"]=> int(0) }
array(4) { ["red"]=> int(255) ["green"]=> int(127) ["blue"]=> int(38) ["alpha"]=> int(0) }
.....
.....
.....


y lo que yo quiero es que imprima por ejemplo:


N pixeles de color 222,222,222
N pixeles de color 123,123,123
.....
.....
.....


este es mi codigo:

Código
  1. <html>
  2. <head>
  3.  
  4.    <meta charset="utf-8">
  5.    <title>Colores</title>
  6.    <link href="hoja_styles.css" rel="stylesheet">
  7.  
  8. </head>
  9. <body>
  10.  
  11. <img src="colores.jpg" /><br /><br />
  12.  
  13. <?php
  14.  
  15.    $im=imagecreatefromjpeg("colores.jpg");
  16.    $largo=imagesx($im);
  17.    $ancho=imagesy($im);
  18.  
  19.    for($x=0;$x<$largo;$x++)
  20.    {
  21.        for($y=0;$y<$ancho;$y++)
  22.        {
  23.            $indice=imagecolorat($im,$x,$y);
  24.            $rgb=imagecolorsforindex($im,$indice);
  25.  
  26.            var_dump($rgb);
  27.            echo "<br />";
  28.        }
  29.    }
  30.  
  31. ?>
  32.  
  33. </div>
  34. </body>
  35. </html>


Título: Re: Obtener el numero de pixeles de cada color
Publicado por: engel lex en 31 Mayo 2017, 12:54 pm
compara los elementos de $indice contra el color que quieres y si es afirmativo, contabilizas y solo imprimes luego de salir de los 2 ciclos...