输出topk图像及其label:
# searching_path = a list of searching results
for i in range(topk):
cur_searching = cv2.imread(searching_path[i])
if i is 0:
res = cv2.imread(query_path)
res = np.stack((res, cur_searching))
此时可以得到下图,队列第一是query,后面依次是top1、top2等:
为了直观看到检索正确率,可以把label作为title,放在图片上方:
这里用的Market1501 dataset,每张图片大小为: 128 * 64,因此生成大小为(64, (128 * 11))的背景图,写上label后拼接在原图上方。
grey0 = np.zeros([50, 704, 3), dtype='uint8')
title = 'q' + cur_query_label
for i in range(topk):
cur_searching_label = searching_path[i]
title = title + ' ' + cur_searching_label
res2 = cv2.putText(grey0, title, (14,40), cv2.FOUNT_ITALIC, 0.4, (225,225,225))
res3 = np.vstack(res2, res)
cv2.imwrite('xxx.jpg', res3)