提取圆中心坐标的代码
时间: 2023-10-28 14:04:30 浏览: 42
提取圆中心坐标需要进行圆检测,这可以使用霍夫变换来实现。以下是一个简单的OpenCV Python代码示例,用于从图像中提取圆的中心坐标:
```python
import cv2
import numpy as np
# 读取图像
img = cv2.imread('circle.jpg', 0)
# 中值滤波
img = cv2.medianBlur(img, 5)
# 霍夫圆变换
circles = cv2.HoughCircles(img, 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)
print("Center coordinates: ({}, {})".format(i[0], i[1]))
else:
print("No circles detected.")
# 显示结果
cv2.imshow('detected circles', img)
cv2.waitKey(0)
cv2.destroyAllWindows()
```
该代码中,首先读取图像并对其进行中值滤波处理,然后使用cv2.HoughCircles()函数进行霍夫圆变换。最后,从检测到的圆中提取圆心坐标,并将其打印出来。需要注意的是,该代码只是一个简单的演示示例,实际应用中需要根据实际需求进行修改和优化。
相关推荐
![rar](https://img-home.csdnimg.cn/images/20210720083606.png)
![rar](https://img-home.csdnimg.cn/images/20210720083606.png)
![m](https://img-home.csdnimg.cn/images/20210720083646.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)