【发布时间】:2017-10-22 16:19:17
【问题描述】:
我正在尝试根据输入图像检索一组相似的图像。我正在使用带有序列的数组元素。使用序列设置数组元素。 OpenCV 顺便说一下 Python。我的策略是获取图像数据库的SURF 特征,然后将其放入k-NN 模型中,这样每当我使用 SURF 特征查询图像并查找相似的项目集时,我就可以只需使用k-NN 即可获得最近的邻居。问题是,我尝试通过放置SURF 描述符然后将其展平来在scikit-learn 中训练k-NN 模型。但是,每当我尝试训练模型时,这个错误就会不断出现。 setting an array element with a sequence.setting an array element with a sequence.
我做错了什么?我应该如何表示这些功能,以便我可以将它与k-NN一起使用
更新:这是我的代码
SURFObject = cv2.SURF(hessianThreshold = 400, extended = 0)
image_names = []
image_descriptors = []
for i in range(1, 4001):
print("Image Number: " + str(i))
filename = 'cat.'+ str(i) +'.jpg'
img = cv2.imread(filepath + filename)
keypoints, descriptors = SURFObject.detectAndCompute(img, None)
image_descriptors.append(descriptors.tolist())
image_names.append(filename)
neighbors = NearestNeighbors(10, 0.5)
neighbors.fit(np.array(image_descriptors).reshape(-1,1))
【问题讨论】:
-
请发布您的代码。
-
@LakshyaKejriwal 我更新了帖子。谢谢
标签: python opencv model similarity knn