Python论坛  - 讨论区

标题:python之django連結mysql的相似圖像檢索

2011年10月31日 星期一 23:27

 

以下為方便說明問題,已簡略維度
設一個圖像共8維度向量


A圖→[('20.60 62.07', [1,2,3,4,5,6,7,8])]

B圖→[('30.60 62.07', [1.1,2,3,4,5,6,7,8])]

C圖→[('70.60 62.07', [10,20,30,40,50,60,70,80])]

D圖→[('80.60 62.07', [22,44,66,88,100,120,140,160])]

因圖像可能不只一個特徵點,或許有2個特徵點的例子(真實的例子會有2個以上)。
E圖→[('40.60 62.07', [1,2,3,4,5,6,7,8]),('80.60 82.07', [2,4,6,8,10,12,14,16])]
(希望能抓到第一個向量一樣,就判定此圖為查詢圖像的近似圖像)

query_vector代表查詢圖像的維度,是一個list
query_vector=[1,2,3,4,5,6,7,8]

label:'X座標 Y座標'

neighbours代表查詢圖像與相比圖像維度的一些相近相鄰維度,是一個list,一個item,裡面有2個屬性:vector、label。

neighbours=[{'vector': [1.1 ,2,3,4,5,7,8], 'label': '20.60 62.07'},    →A圖
                       {'vector': [1.1 ,2,3,4,5,7,8], 'label': '30.60 62.07'}, →B圖
                       {'vector': [1.1 ,2,3,4,5,7,8], 'label': '55.33 49.78'}, →E圖
                       {'vector': [1.1 ,2,3,4,5,7,8], 'label': '55.33 49.78'},]→E圖

nearest代表是一個dict,三個item,分別是最接近distance、最接近vector、最接近label。
nearest={'distance': 0.0, 'vector': [1, 2,3,4,5,6,7,8], 'label': '55.33 49.78'}

根據此題假設,應該用query_vector查詢時,會得出A圖、B圖、E圖,
有一個做法是,但也卡在x不知如何設?

x=?不知該怎麼設才會抓到A、B、E圖
y=Trademark.objects.all()
xyDict=dict(zip(x,y))
tmatch=[xyDict[i] for i in xyDict if i != 0]
context_map['tmatch']=tmatch

還是另外有什麼做法,
麻煩請會的,
請指教一下了,非常感謝。

 

如下红色区域有误,请重新填写。

    你的回复:

    请 登录 后回复。还没有在Zeuux哲思注册吗?现在 注册 !

    Zeuux © 2024

    京ICP备05028076号