Geliştirip, resim tanımlama işlemlerinizde kullanabilirsiniz.
Bu haliyle fikir vermesi açısından paylaşılmıştır.Benzer renkler vs. ayıklaması size kalmış, dediğim gibi bu temel açısından, fikir vermesi maksadıyla yazılmıştır.
$resimYolu değişkeninden, kullanılacak resimin seçilmesi yeterlidir.
Örnek bir çıktı: (r10 logosu üzerinde denenmiştir.)

Kaynak kod:
<?php
///////////////////////////////////////////////////
/////////Bu yazılım, jpeg formatlı dosyaların /////
//////// renk yogunlugunu bulmamızı saglar.////////
///////////////////////////////////////////////////
$depo=array();
if(isset($_GET['minikare'])) {
$gel=$_GET['minikare'];
$parcalabehcet=explode('_',$gel);
$ki=$parcalabehcet[0];
$ye=$parcalabehcet[1];
$ma=$parcalabehcet[2];
$kare=imagecreate(10,10);
imagefill($kare,0,0,imagecolorallocate($kare,$ki,$ye,$ma));
imagesetthickness($kare, 1);
imagerectangle($kare,0,0,9,9,imagecolorallocate($kare,0,0,0));
header('Content-type:image/jpeg');
imagejpeg($kare);
exit;
}
$resimYolu="r10.jpg";
//Resimi açalım
$resim=imagecreatefromjpeg($resimYolu);
$en=imagesx($resim);
$boy=imagesy($resim);
for($x=0;$x<$en;$x++) {
for($y=0;$y<$boy;$y++) {
$px=imagecolorat($resim,$x,$y);
$ki=($px & 0xFF0000) >> 16;
$ye=($px & 0x00FF00) >> 8;
$ma=($px & 0x0000FF);
$kiyema=$ki.'_'.$ye.'_'.$ma;
if(isset($depo[$kiyema])) $depo[$kiyema]+=1;
else $depo[$kiyema]=1;
}
}
$toplamtespit=array_sum($depo);
arsort($depo);
?>
<h1>Resim yoğunluğu inceleme</h1>
<h3> İncelenen resim: </h3>
<img src="<?php echo $resimYolu; ?>">
<br><br>
<h2>En çok rastlanan 10 renk </h2>
<?php
$lis=0;
foreach($depo as $renk=> $rastlanma) {
$bolgec=explode('_',$renk);
if(strlen(dechex($bolgec[0]))<2) $hex1='0'.dechex($bolgec[0]); else $hex1=dechex($bolgec[0]);
if(strlen(dechex($bolgec[1]))<2) $hex2='0'.dechex($bolgec[1]); else $hex2=dechex($bolgec[1]);
if(strlen(dechex($bolgec[2]))<2) $hex3='0'.dechex($bolgec[2]); else $hex3=dechex($bolgec[2]);
$tumhex='<b>'.strtoupper($hex1.$hex2.$hex3).'</b>';
$rastlanmaorani=(100/$toplamtespit)*$rastlanma;
echo ($lis+1).'. renk, <img src="?minikare='.$renk.'"> rgb değeri: <b>'.str_replace('_',' ',$renk).'</b>. Hexadecimal değeri:
'.$tumhex.'.Rastlanma oranı: <b>%'.$rastlanmaorani.'</b><br>';
if($lis==9) break;
$lis++;
}
?> 