用代码实现基于边缘检测的角点检测
时间: 2024-06-07 13:11:56 浏览: 55
用于边缘检测的代码
这里给出基于OpenCV库的Python代码实现:
```python
import cv2
# 读入图像
img = cv2.imread('test.jpg')
# 将图像转为灰度图
gray = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)
# 进行边缘检测
edges = cv2.Canny(gray, 50, 150, apertureSize=3)
# 进行角点检测
corners = cv2.goodFeaturesToTrack(edges, maxCorners=100, qualityLevel=0.01, minDistance=10)
# 绘制角点标记
for corner in corners:
x, y = corner.ravel()
cv2.circle(img, (x, y), 5, (0, 0, 255), -1)
# 显示结果
cv2.imshow('image', img)
cv2.waitKey(0)
cv2.destroyAllWindows()
```
其中,`cv2.Canny()`函数用于进行边缘检测,`cv2.goodFeaturesToTrack()`函数用于进行角点检测,并返回检测到的角点坐标。在绘制角点标记时,可以使用`cv2.circle()`函数,将圆心坐标和半径作为参数传入即可。
阅读全文