gpt4 book ai didi

python - 空/无SIFT描述符和在python中生成的关键点

转载 作者:行者123 更新时间:2023-12-02 17:12:53 27 4
gpt4 key购买 nike

我正在尝试从一组图像补丁中创建一个密码本。我已将图像(Caltech 101)分成20 X 20图像块。我想为每个补丁创建一个SIFT描述符。但是对于某些图像补丁,它不返回任何描述符/关键点。我尝试使用OpenCV和vlfeat。
使用任何库的行为都是相同的。

以下是我使用OpenCV的代码-

sift = cv2.SIFT()
img = cv2.imread('patch_temp.jpg',0)
imgptch = cv2.imread('image_patch.jpg',cv2.CV_LOAD_IMAGE_GRAYSCALE)
kp, des = sift.detectAndCompute(imgptch,None)
print des

des是“无”。如果我使用vlfeat,情况也是如此。
注意:如果我使用其他图像,以上方法适用。对于某些图像,它返回None(10张中的6张)。

我已经使用OpenCV索引创建了图像补丁-
patch = img[0:20,0:20]
cv2.imwrite('image_patch.jpg',img)

最佳答案

函数sift.detectAndCompute将首先尝试检测SIFT关键点,然后在找到的位置计算描述符。

这不是您想要的:您希望每个补丁都有一个描述符。
您可以首先手工制作关键点位置(通过将其pt属性调整到补丁的中心,并将其size属性调整到补丁的大小)。
然后,仅在这组位置上调用描述符提取器。

关于python - 空/无SIFT描述符和在python中生成的关键点,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27099760/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com