Kodları lütfen aşağıdaki butonları kullanarak renklendirin. Örnek: <php> echo "Selam Dünya"; </php>
Yardım
karakter kaldı

Renk koduyla resim aramak.

Merhaba,

Google görsellerdeki gibi seçilen renke göre resimlerde arama yapacak bir sistem hazırlamam lazım.
Bunu PHP ya da Javascript ile nasıl yapabilirim?

Şimdiden teşekkürler.
+0
-0
Cevaba KatılıyorumKatılmıyorum
Cevap Yaz Yorum Yaz Arşivime Ekle Takip Et

Cevaplar

  • madpoet adlı üyenin fotoğrafı
    9 yıl önce yazılmış
    84 cevap - 1 soru
    PHP ile yapabilirsin. Mantık şöyle:

    Imaji gd ile açıp tek tek tüm piksellerin RGB değerlerini okursun. Sonra da bu değerlere göre bir algoritma oluşturursun. Tüm renklerin yüzdelerini tutabilirsin mesela, kırmızı yeşil ve mavi için yüzdeden bulursun. Diğer renkler için biraz kasmak gerekecek ama sonuçta diğer renkler de bu 3 temel rengin karışımı olduğu için yapılabilir.

    RGB değerlerini şöyle alabilirsin:

    $i = imagecreatefromjpeg("image.jpg");
    
    for ($x = 0; $x < imagesx($i); $x++) {
        for ($y = 0; $y < imagesy($i); $y++) {
    
            $rgb = imagecolorat($i, $x, $y);
    
            $r = ($rgb >> 16) & 0xFF;
            $g = ($rgb >> 8) & 0xFF;
            $b = $rgb & 0xFF;
    
            $rToplam += $r;
            $gToplam += $g;
            $bToplam += $b;
    
            $toplam++;
        }
    }
    
    $rOrtalama = round($rToplam/$toplam);
    $gOrtalama = round($gToplam/$toplam);
    $bOrtalama = round($bToplam/$toplam);
    


    Bu ortalama değerleri veritabanına kaydederek arama yaptırabilirsin, kırmızı mavi ve yeşil kolay, hangisi büyükse o. Ara renkler için de aradığın rengi RGB'ye dönüştürebilirsin mesela, bir miktar da hata payı ekleyip

    select * from fotolar where kirmizi between :kirmizi_min and :kirmizi_max 
    


    gibi birşeyler yapabilirsin.