shi-tomasi角点检测 api
时间: 2023-11-16 16:07:06 浏览: 101
Shi-Tomasi角点检测算法是一种经典的角点检测算法,它可以在图像中找到具有最大角度的角点。在OpenCV中,可以使用cv.goodFeaturesToTrack()函数进行Shi-Tomasi角点检测。
函数原型:
```
cv.goodFeaturesToTrack(image, maxCorners, qualityLevel, minDistance[, corners[, mask[, blockSize[, useHarrisDetector[, k]]]]])
```
参数说明:
- image:输入图像,必须是单通道8位或32位浮点型图像。
- maxCorners:检测到的最大角点数。
- qualityLevel:角点的最小质量水平,范围为0到1,表示角点的最小可接受质量。
- minDistance:角点之间的最小欧几里得距离。
- corners:输出角点的坐标。
- mask:用于限制检测区域的掩码图像。
- blockSize:计算图像梯度的邻域大小。
- useHarrisDetector:如果为true,则使用Harris角点检测算法。
- k:Harris角点检测算法的自由参数。
示例代码:
```python
import cv2 as cv
import numpy as np
img = cv.imread('test.jpg')
gray = cv.cvtColor(img, cv.COLOR_BGR2GRAY)
corners = cv.goodFeaturesToTrack(gray, 100, 0.01, 10)
corners = np.int0(corners)
for corner in corners:
x, y = corner.ravel()
cv.circle(img, (x, y), 3, (0, 0, 255), -1)
cv.imshow('img', img)
cv.waitKey(0)
cv.destroyAllWindows()
```
效果如下图所示:
![shi-tomasi角点检测示例](https://img-blog.csdn.net/20180313173704656?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvZ29vZGllX2Jsb2c=/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/q/75)
阅读全文