我正在使用PHP和MySQL構建圖像廚房,我想實現圖像搜索的顏色爲。通過以下Imagick::getImageHistogram我從圖像中獲得了最多的顏色。數據庫設計在MySQL中存儲圖像顏色模式用於搜索圖像顏色
<?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
雖然我與得到的顏色做,我堅持設計色彩信息存儲與數據庫中的圖像路徑沿着數據庫。
我的問題是如何設計一個數據庫(表結構)來存儲這種數據,其中搜索可以查詢可以有效地應用。
更新:
其次我怎樣才能得到一個匹配的彩色圖像。假設用戶正在搜索顏色#ff0000,那麼我怎樣才能從數據庫中獲取所有最接近的匹配圖像。
謝謝
到目前爲止你有什麼?這些數據看起來不錯並且很規則,所以它應該相當簡單,對吧? – Halcyon
潛在的查詢會是什麼樣子? – Steve
@FritsvanCampen假設我爲圖像存儲6種顏色,這意味着我們有18個整體值(6 *(R,B,G))值。所以如何設計表格來存儲這些值 – Minion