What is the difference between "cv.xfeatures2d.SIFT_create()" and "cv.SIFT_create()"

Hi, guys,
I see that there are two ways of creating a SIFT detector, which are

# 1
cv.xfeatures2d.SIFT_create()

# 2
cv.SIFT_create()

so, what is the difference between them?

Your answer and guide will be appreciated!

1 Like

after the SIFT patent expired, the algorithm was moved from the opencv_contrib repo (xfeatures2d) back into the main one.

so, for versions prior 4.4 you need it like :

# 1
cv.xfeatures2d.SIFT_create()

and for current (and future) version it is:

# 2
cv.SIFT_create()
2 Likes

Thanks sincerely for your answer!

1 Like