2012-01-18 65 views
0

我試圖在PHP中製作一個非常基本的圖像匹配腳本,我所做的是抓住每個通道的RGB平均值,然後將這3個值與存儲在數據庫。MySQL查找3列/值的最相似的組合

因此,我完成了所有這些工作,並在數據庫中設置了結果,我現在只是無法編寫我的最終查詢來檢查我的活動圖像計算結果與存儲的結果。

所以DB表看起來像這樣現在:

id (primary index)  
name 
image 
rval (fulltext index) 
gval (fulltext index) 
bval (fulltext index) 

我本來的顏色平均場設置爲int,但全文搜索周圍改變了他們現在的混亂......我不是真的知道如何去這個:P

不管怎麼說,所以我的查詢應該是這樣的:

$rval = '100'; 
$gval = '109'; 
$bval = '114'; 

"SELECT name, image FROM table WHERE rval LIKE '$rval' AND gval LIKE '$gval' AND bval LIKE '$bval' LIMIT 3" 

然後理想它將返回背面的3最相似combinat離子。

SQL嚮導,如果您有任何建議,我很樂意聽到/看到他們!在此先感謝大家:)

+0

發表了一些從「SELECT * FROM table」返回的例子 - 因爲它不是很清楚可能的值是多少 – alfasin 2012-01-23 20:30:33

回答

0

您可以嘗試搜索每個rgb值的值範圍之間。

$rval = '100'; 
$gval = '109'; 
$bval = '114'; 

"SELECT name, image FROM table WHERE rval BETWEEN ".$rval-10." AND ".$rval+10.....etc. 

當然,我不認爲這會給三個最正確的組合,你將不得不工作的出路,直到你有三場比賽。 -1,-2,-3點離開,就像那樣。

+0

是的,這在我的情況下有很多疑問! :)謝謝你的想法 – delta9 2012-01-18 21:30:59