Selective Search實現過程分析

2021-08-20 10:44:55 字數 727 閱讀 1014

6 .合併區域

(1)找到集合裡面相識度最大的那一對

(2)將這一對的外包圍區域進行合併,包括構建新的外包圍矩形框,同時計算根據以下公式更新顏色直方圖統計和紋理直方圖統計,這樣構建新的區域rt。

new_size = r1["size"] + r2["size"]

rt["hist_c"] = r1["hist_c"] * r1["size"] + r2["hist_c"] * r2["size"]) / new_size

rt["hist_t"] = r1["hist_t"] * r1["size"] + r2["hist_t"] * r2["size"]) / new_size

(3) 將集合中的r1, r2從集合中去掉

key_to_delete =

for k, v in list(s.items()):

if (i in k) or (j in k):

for k in key_to_delete:

del s[k]

for k in [a for a in key_to_delete if a != (i, j)]:

n = k[1] if k[0] in (i, j) else k[0]

s[(t, n)] = _calc_sim(r[t], r[n], imsize)

(5)重複(1)到(4)的步驟,直到集合中不存在任何元素為止。

最後輸出所有的矩形框結果。

**:

Pythonic版二分查詢實現過程原理解析

更多程式設計教程請到 菜鳥教程 前提 公升序陣列,待查元素在陣列中。二分查詢 就是乙個遞迴函式c。待查元素a,當前陣列中位數b,如果b a則返回b的索引,b a則在b左側的子陣列中呼叫函式c,否則在b右側子陣列中呼叫函式c。第一次思考,按著上面的思路程式設計後的結果 def binary searc...

Hive JOIN實現過程

準備資料 語句 select a.uid,a.name,b.age from logs a join users b on a.uid b.uid 我們希望的結果是把users表join進來獲取age欄位。hive select from logs oka蘋果5 a橙子3 b燒雞1 hive sel...

springdata實現過程

我們會寫乙個介面繼承 然後在action裡用 autowired進行自動注入 spring會使用動態 為我們建立乙個類 也實現standardjparepository這個介面,裡邊會實現我們介面裡的所有方法,但都不是真的實現而是呼叫父類的handler進行操作,然後handler會根據你的方法名決...