Harris:https://blog.csdn.net/Keep_Trying_Go/article/details/125384144
Shi-Tomasi:https://blog.csdn.net/Keep_Trying_Go/article/details/125384218
SIFT:https://blog.csdn.net/Keep_Trying_Go/article/details/125384278
(1) Give reasons :SIFT The biggest problem is that the detection speed is slow , So put forward SURF;
(1) establish surf object ;cv2.xfeatures2d.SURF_create()
(2) Key point detection and feature matching :kp,des=surf.detectAndCompute(gray,mask);
Use cv2.xfeatures2d.SURF_create()
pip install opencv-contrib-python==3.4.2.16 -i https://pypi.tuna.tsinghua.edu.cn/simple/
import os
import cv2
import numpy as np
img=cv2.imread('images/HaLiSi.jpg')
img=cv2.resize(src=img,dsize=(450,450))
gray=cv2.cvtColor(src=img,code=cv2.COLOR_BGR2GRAY)
#SIFT objects creating
surf=cv2.xfeatures2d.SURF_create()
# To test , The second parameter is None, Indicates to test the whole picture
kp=surf.detect(gray,None)
# Feature matching
# kp,des=surf.compute(gray,kp)
kp,des=surf.detectAndCompute(gray,None)
print(des)
# Draw corners
cv2.drawKeypoints(image=gray,keypoints=kp,outImage=img,color=(0,255,0))
cv2.imshow('img',img)
cv2.waitKey(0)
cv2.destroyAllWindows()
if __name__ == '__main__':
print('Pycharm')