OpenCV SIFT Python | Feature Extraction

In this OpenCV Tutorial, you’ll learn how to perform SIFT in OpenCV Python. SIFT is a short form of Scale Invariant Fourier Transform. This is a detector that is used for the detection of interest points in an image. I highly recommend you get the “Computer Vision: Models, Learning, and Inference Book” to learn computer vision. I will use the following image.

# import OpenCV module
import cv2

# Read the image
img = cv2.imread('C:\\AiHints\\car.jpg')

# Convert the image to grayscale
gray_img = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)

# Create a SIFT object
sift = cv2.SIFT_create()

# Detect keypoints
keypoints = sift.detect(gray_img, None)

# Draw the keypoints on the image
# You can remove the last parameter that is used for direction
img = cv2.drawKeypoints(gray_img, keypoints, img, flags=cv2.DRAW_MATCHES_FLAGS_DRAW_RICH_KEYPOINTS)

# Display the image
cv2.imshow('Final Image', img)

# Save the image
cv2.imwrite('C:\\AiHints\\car_sift.jpg', img)

# Wait until a key is pressed
cv2.waitKey(0)

# Destroy all windows
cv2.destroyAllWindows()

Output:

Final Image

Leave a Comment

Your email address will not be published.