给出python代码实例
时间: 2023-07-25 09:17:47 浏览: 78
价值不菲的python源代码,23个实例,适合从入门至实战,包含游戏、爬虫、机器学习等方面.rar
以下是使用OpenCV库实现Shi-Tomasi角点检测的Python代码示例:
```python
import cv2
import numpy as np
# 读取图像
img = cv2.imread('test.jpg')
gray = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)
# Shi-Tomasi角点检测
corners = cv2.goodFeaturesToTrack(gray, maxCorners=100, qualityLevel=0.3, minDistance=7)
# 绘制角点
corners = np.int0(corners)
for corner in corners:
x, y = corner.ravel()
cv2.circle(img, (x, y), 3, (0, 0, 255), -1)
# 显示图像
cv2.imshow('Shi-Tomasi Corner Detection', img)
cv2.waitKey(0)
cv2.destroyAllWindows()
```
在这个代码示例中,我们首先读取一张图像,并将其转换为灰度图像。然后,我们使用`cv2.goodFeaturesToTrack()`函数进行Shi-Tomasi角点检测,其中`maxCorners`参数表示检测到的角点数量上限,`qualityLevel`参数表示角点检测的质量等级,`minDistance`参数表示角点之间的最小距离。最后,我们使用`cv2.circle()`函数在图像上绘制检测到的角点,并显示图像。
需要注意的是,Shi-Tomasi角点检测算法与Harris角点检测算法类似,都需要设置一些参数,如窗口大小、响应函数参数等,以达到最佳的检测效果。在实际应用中,需要根据具体情况进行调整和优化。
阅读全文