shi-tomas检点检测
原理:
实现:
在OpenCV中实现Shi-Tomasi角点检测使用API: corners = cv2.goodFeaturesToTrack ( image,maxcorners,qualityLevel,minDistance )
参数︰ . lmage:输入灰度图像 . maxCorners:获取角点数的数目。 . qualityLevel:该参数指出最低可接受的角点质量水平,在0-1之间。. minDistance:角点之间最小的欧式距离,避免得到相邻特征点。
返回: . Corners:搜索到的角点,在这里所有低于质量水平的角点被排除掉,然后把合格的角点按质量排序,然后将质量较好的角点附近(小于最小欧式距离)的角点删掉,最后找到maxCorners个角点返回。 ?
代码:
import cv2 as cv
import matplotlib.pyplot as plt
import numpy as np
img = cv.imread("D:/1.2.webp")
gray = cv.cvtColor(img,cv.COLOR_BGR2GRAY)
coners = cv.goodFeaturesToTrack(gray,1000,0.01,10)
for i in coners:
x,y = i.ravel()
cv.circle(img,(x,y),2,(0,0,255),-1)
plt.imshow(img[:,:,::-1])
检测结果:
?
|