python 标出图片的Shi-Tomasi corner
时间: 2024-10-04 11:04:39 浏览: 26
在Python中,你可以使用OpenCV(Open Source Computer Vision Library)来标出图片的 Shi-Tomasi 角点。Shi-Tomasi算法是一种用于检测图像局部稳定的角点的方法,它寻找那些像素值变化不太显著的区域,这些地方可能是物体边缘的转折点。
以下是一个简单的示例,展示如何在Python中使用OpenCV找到Shi-Tomasi角点:
```python
import cv2
import numpy as np
# 读取图片
img = cv2.imread('image.jpg', cv2.IMREAD_GRAYSCALE)
# 初始化ShiTomasi角点检测器
feature_params = dict(maxCorners=100,
qualityLevel=0.01,
minDistance=7,
blockSize=7)
corners = cv2.goodFeaturesToTrack(img, mask=None, **feature_params)
# 找到角点后,它们会被转换为整数坐标
corners = np.int0(corners)
# 绘制角点
img_with_corners = cv2.drawKeypoints(img, corners, img, color=(0, 255, 0), flags=cv2.DRAW_MATCHES_FLAGS_DRAW_RICH_KEYPOINTS)
# 显示图片
cv2.imshow('Detected Corners', img_with_corners)
cv2.waitKey(0)
cv2.destroyAllWindows()
```
在这个例子中,`maxCorners`设置最多查找的角点数量,`qualityLevel`控制角点的质量,`minDistance`表示相邻角点间的最小距离,`blockSize`决定了像素邻域大小。
阅读全文