python里如何使用cornerSubPix函数
时间: 2024-03-08 22:50:30 浏览: 210
Python使用OpenCV进行标定
在Python中,可以使用OpenCV库中的cornerSubPix()函数来精细化角点坐标。
下面是使用cornerSubPix()函数的基本步骤:
1. 通过cv2.goodFeaturesToTrack()函数获取角点的初始坐标。
2. 使用cornerSubPix()函数对角点坐标进行精细化处理,以提高识别精度。
下面是一个简单的示例代码:
```python
import numpy as np
import cv2
# 读入图像
img = cv2.imread('image.jpg')
gray = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)
# 获取初始角点
corners = cv2.goodFeaturesToTrack(gray, 25, 0.01, 10)
corners = np.int0(corners)
# 对角点进行精细化处理
criteria = (cv2.TERM_CRITERIA_EPS + cv2.TERM_CRITERIA_MAX_ITER, 30, 0.001)
corners = cv2.cornerSubPix(gray, corners, (5,5), (-1,-1), criteria)
# 绘制角点
for corner in corners:
x,y = corner.ravel()
cv2.circle(img, (x,y), 3, 255, -1)
cv2.imshow('Corner SubPix', img)
cv2.waitKey(0)
cv2.destroyAllWindows()
```
在上面的代码中,我们首先读入一张图像,然后通过cv2.goodFeaturesToTrack()函数获取图像中的角点的初始坐标。接着,我们使用cornerSubPix()函数对角点坐标进行精细化处理,最后将精细化后的角点绘制在图像上。
阅读全文