opencv提取靶标中心
时间: 2023-10-26 07:05:10 浏览: 69
BgSubtractorMOG_Opencv背景提取_
要提取靶标中心,可以使用OpenCV中的霍夫圆变换。以下是一个基本的示例代码:
```python
import cv2
import numpy as np
# 读取图像
img = cv2.imread('target.jpg', cv2.IMREAD_GRAYSCALE)
# 预处理图像
blur = cv2.GaussianBlur(img, (5,5), 0)
canny = cv2.Canny(blur, 50, 150)
# 进行霍夫圆变换
circles = cv2.HoughCircles(canny, cv2.HOUGH_GRADIENT, 1, 20, param1=50, param2=30, minRadius=0, maxRadius=0)
# 提取圆心坐标
if circles is not None:
circles = np.round(circles[0, :]).astype("int")
for (x, y, r) in circles:
cv2.circle(img, (x, y), r, (0, 255, 0), 2)
cv2.circle(img, (x, y), 2, (0, 0, 255), 3)
print("圆心坐标:({},{})".format(x,y))
# 显示结果
cv2.imshow('image', img)
cv2.waitKey(0)
cv2.destroyAllWindows()
```
在上面的代码中,我们首先读取了一张灰度图像,然后使用高斯模糊和Canny边缘检测对图像进行预处理。接着,我们使用霍夫圆变换检测图像中的圆形目标。最后,我们使用cv2.circle函数在图像上绘制圆形,并打印出圆心坐标。
需要注意的是,在实际应用中,由于图像噪声等因素的影响,可能会导致提取出的圆心坐标不准确,需要根据实际情况进行调整。
阅读全文