opencv python圆形标定板的提取代码
时间: 2023-06-17 14:04:39 浏览: 208
以下是提取圆形标定板的代码示例:
```python
import cv2
import numpy as np
# 读取图片
img = cv2.imread('calibration_board.jpg')
# 灰度化
gray = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)
# 查找圆形轮廓
circles = cv2.HoughCircles(gray, cv2.HOUGH_GRADIENT, 1, 20, param1=50, param2=30, minRadius=0, maxRadius=0)
# 将圆形轮廓画出来
if circles is not None:
circles = np.uint16(np.around(circles))
for i in circles[0, :]:
# 画圆
cv2.circle(img, (i[0], i[1]), i[2], (0, 255, 0), 2)
# 画圆心
cv2.circle(img, (i[0], i[1]), 2, (0, 0, 255), 3)
# 显示结果
cv2.imshow('Circles', img)
cv2.waitKey(0)
cv2.destroyAllWindows()
```
解释说明:
1. 首先读取要处理的图片并转换为灰度图像。
2. 然后使用 `cv2.HoughCircles()` 函数查找圆形轮廓,这个函数需要设置一些参数,例如 `param1` 和 `param2` 是用于 Canny 边缘检测的阈值,`minRadius` 和 `maxRadius` 是用于确定圆形半径的最小和最大值。
3. 最后,我们将检测到的圆形轮廓画出来,并显示结果。
注意:在实际应用中,可能需要对参数进行调整以获得最佳效果。
阅读全文