Python OpenCV在中心坐标列表中绘制圆圈

时间:2016-07-03 20:55:07

标签: python arrays opencv plot geometry

我已经能够生成一个坐标列表,我希望将其用作我想在图像上绘制的多个小圆圈的中心。

我可以在各个点绘制圆圈,但无法找到在所有中心绘制圆圈的正确语法。我希望用于中心的坐标存储如下,在一个名为Points的数组中,其形状为:(11844,2)

[[  5   5]
 [  5  10]
 [  5  15]
 ..., 
 [630 460]
 [630 465]
 [630 470]]

我可以使用以下代码绘制单个圆圈:

cv2.circle(frame1,(5,5),1,(0,0,255))

我尝试使用以下方式绘制所有点:

cv2.circle(frame1,Points[:,:],1,(0,0,255))

这会回复此错误:

cv2.circle(frame1,Points[:,:],1,(0,0,255))
SystemError: new style getargs format but argument is not a tuple

我应该使用循环来逐步浏览所有点并逐个绘制它们吗?如果是这样我应该使用哪个循环?或者是否有一些我想念的简单?

3 个答案:

答案 0 :(得分:4)

我设法在Joel的帮助下使用以下代码找到了答案:

    for point in Points:
        cv2.circle(frame1,tuple(point),1,(0,0,255))

答案 1 :(得分:0)

这是否有效:

for point in Points:
    cv2.circle(frame1, points, 1,(0,0,255))

答案 2 :(得分:0)

尝试此,它应该工作:

for point in Points:
    cv2.circle(frame1, point, 1,(0,0,255))