【发布时间】:2020-01-01 17:42:59
【问题描述】:
我正在使用 python 和 opencv(cv2) 做一个项目。在这里,我分别计算数据集图像的红色、绿色和蓝色均值,并计算 GLCM(对比度、能量、同质性和相关性)并将其保存在不同的列表中。现在我已经计算了查询图像与 DB 图像之间的欧几里德距离,但我无法显示距离最小的图像。 我已经部分完成了代码,就像:
import cv2
from collections import *
import CBIR as cb
import experiment as ex
from scipy.spatial import distance
from matplotlib import pyplot as plt
result_list = list()
i = 0
a_list = list()
b_list = list()
a_list.append(ex.feature_matrix_ip)
while i < 50:
b_list.append(cb.feature_matrix_db[i])
dist = distance.euclidean(a_list,b_list[i])
result_list.append(dist)
result_list_sort = OrderedDict(sorted(enumerate(result_list),key=lambda x: x[0])).keys()
i = i + 1
result_list.sort()
res_list_sort = zip(result_list,result_list_sort)
CBIR 给出 DB 图像的红色、绿色和蓝色均值和 GLCM(对比度、能量、同质性和相关性),实验将给出查询图像的值。
如何显示图像。欢迎任何建议
谢谢!
【问题讨论】: