Datenbankdesign zum Speichern von Bildfarbmustern in MySQL für die Suche nach Bildern nach Farben
Ich baue eine Bildergalerie mit PHP und MySQL, wo ich implementieren möchteBildsuche nach Farbe. FolgendImagick :: getImageHistogram Ich habe die meisten präsentierten Farben aus den Bildern.
<?php
$image = new Imagick("thing.png");
$pixels=$image->getImageHistogram();
foreach($pixels as $p){
$colors = $p->getColor();
foreach($colors as $c){
print( "$c\t" );
}
print( "\t:\t" . $p->getColorCount() . "\n" );
}
?>
This will print out something like:
Red Green Blue Alpha : No of times appeared
252 250 252 1 : 125
194 156 182 1 : 126
109 18 79 1 : 11440
2 117 162 1 : 12761
255 255 255 1 : 40769
Obwohl ich mit dem Abrufen der Farben fertig bin, muss ich die Datenbank so gestalten, dass die Farbinformationen zusammen mit dem Bildpfad in der Datenbank gespeichert werden.
Meine Frage ist, wie man eine Datenbank (Tabellenstruktur) entwirft, um diese Art von Daten zu speichern, in denen Suchanfragen effektiv angewendet werden können.
Aktualisieren:
Zweitens, wie bekomme ich die Bilder mit einer passenden Farbe? Angenommen, der Benutzer sucht nach einer Farbe # ff0000. Wie kann ich dann alle am nächsten passenden Bilder aus der Datenbank abrufen?
Danke dir