Obtener el numero de pixeles de cada color

Iniciado por CarlosDayan, 31 Mayo 2017, 08:37 AM

0 Miembros y 1 Visitante están viendo este tema.

CarlosDayan

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 (php) [Seleccionar]
<html>
<head>

    <meta charset="utf-8">
    <title>Colores</title>
    <link href="hoja_styles.css" rel="stylesheet">

</head>
<body>

<img src="colores.jpg" /><br /><br />

<?php

    $im
=imagecreatefromjpeg("colores.jpg");
    
$largo=imagesx($im);
    
$ancho=imagesy($im);

    for(
$x=0;$x<$largo;$x++)
    {
        for(
$y=0;$y<$ancho;$y++)
        {
            
$indice=imagecolorat($im,$x,$y);
            
$rgb=imagecolorsforindex($im,$indice);

            
var_dump($rgb);
            echo 
"<br />";
        }
    }

?>


</div>
</body>
</html>

engel lex

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...
El problema con la sociedad actualmente radica en que todos creen que tienen el derecho de tener una opinión, y que esa opinión sea validada por todos, cuando lo correcto es que todos tengan derecho a una opinión, siempre y cuando esa opinión pueda ser ignorada, cuestionada, e incluso ser sujeta a burla, particularmente cuando no tiene sentido alguno.