I'm new to CV,I have a lot of images and I want to compare one images with the others in my images dataset.So I decide to index all the images,after I do some search and know ORG,SIFT,SURF is I was looking for.But I don't know how to use the keypoint and descriptor,below is my code:
import cv2
nfeatures = 1
cv2.ocl.setUseOpenCL(False)
img = cv2.imread('images/forest-copyright.jpg', 0)
img2 = cv2.imread('images/forest-high.jpg', 0)
def kpdes(img):
orb = cv2.ORB_create(nfeatures=nfeatures)
kp = orb.detect(img, None)
kp,des = orb.compute(img, kp)
print(kp,des)
kpdes(img)
kpdes(img2)
Some parts of output:
[KeyPoint 0000000002A2EF00] [[252 48 188 124 41 124 81 184 161 63 167 25 87 63 74 91 192 213 237 0 60 79 243 0 219 235 112 93 224 225 78 67]]
How should I use the descriptor like “[[252 48 188 124 41 124 81 184 161 63 167 25 87 63 74 91 192 213 237 0 60 79 243 0 219 235 112 93 224 225 78 67]]”,what dose it mean? How can I store them in Elasticsearch and query them? I found the descriptor would be changed if I increase nfeatures. Yes,there are so many questions for me,waiting for helper!