You can get ONLY the keypoints by drawing them on a solid black image having the SAME shape of your original image.
This is the image I used:
I then obtained the keypoints:
Then I created an image of solid color(black) having same size of the original image and draw these keypoints on them.
Voila ONLY keypoints
CODE:
#---Creating image of solid color with same size as image---
mask = np.zeros((img.shape[0], img.shape[1], 3), np.uint8)
mask[:] = (0, 0, 0)
#---Drawing keypoints on the mask image---
fmask = cv2.drawKeypoints(mask,kp,None,color=(0,255,0), flags=0)
cv2.imshow('fmask.jpg', fmask)