uso sirve que para mostrar img imagenes imagen funciona emplea ejemplo atributos atributo php colors detection

sirve - Detectando colores para una imagen usando PHP



mostrar imagen en html (2)

Aquí hay un script que te dará la lista:

function detectColors($image, $num, $level = 5) { $level = (int)$level; $palette = array(); $size = getimagesize($image); if(!$size) { return FALSE; } switch($size[''mime'']) { case ''image/jpeg'': $img = imagecreatefromjpeg($image); break; case ''image/png'': $img = imagecreatefrompng($image); break; case ''image/gif'': $img = imagecreatefromgif($image); break; default: return FALSE; } if(!$img) { return FALSE; } for($i = 0; $i < $size[0]; $i += $level) { for($j = 0; $j < $size[1]; $j += $level) { $thisColor = imagecolorat($img, $i, $j); $rgb = imagecolorsforindex($img, $thisColor); $color = sprintf(''%02X%02X%02X'', (round(round(($rgb[''red''] / 0x33)) * 0x33)), round(round(($rgb[''green''] / 0x33)) * 0x33), round(round(($rgb[''blue''] / 0x33)) * 0x33)); $palette[$color] = isset($palette[$color]) ? ++$palette[$color] : 1; } } arsort($palette); return array_slice(array_keys($palette), 0, $num); } $img = ''icon.png''; $palette = detectColors($img, 6, 1); echo ''<img src="'' . $img . ''" />''; echo ''<table>''; foreach($palette as $color) { echo ''<tr><td style="background:#'' . $color . ''; width:36px;"></td><td>#'' . $color . ''</td></tr>''; } echo ''</table>'';

¿Cómo puedo detectar los 2 mejores colores de una imagen en PHP?

por ejemplo tengo esta imagen:

Esta función / proceso devolverá: 0000FF o azul y FFFF00 o AMARILLO

Gracias


Si está de acuerdo en llamar a una utilidad externa, Imagemagick puede generar un histograma para usted. Probablemente va a ser mucho más rápido que una implementación de PHP.

Básicamente, este comando te da una lista de colores, ordenados por los más dominantes primero:

convert ''http://i.stack.imgur.com/J2txV.png'' -format %c histogram:info:-|sort -r

Es posible que desee asignar la imagen a una paleta fija primero ("Redondear" los colores). Esto es lo que uso:

convert ''http://i.stack.imgur.com/J2txV.png'' -modulate 100,200,100 -remap ''http://i.stack.imgur.com/GvTqB.png'' -format %c histogram:info:-|sort -r