如何在OpenCV中平均计算python中的两点?

如何在OpenCV中平均计算python中的两点?,python,syntax,opencv,Python,Syntax,Opencv,我一直在试图找出如何在OpenCV中平均2分,但每当我尝试一些东西时,我通常会遇到一个错误,涉及元组的错误使用。我试图找到cv.HoughLines2返回的线的中心点。我知道第[0]行存储(x1,y1)项,第[1]行存储(x2,y2)项,但我不知道如何进行平均,以便在cv2.circle()中使用它们 如何在OpenCV中平均两个点 lines = cv.HoughLines2(dst, storage, cv.CV_HOUGH_PROBABILISTIC, rho, cv.CV_PI/(the

我一直在试图找出如何在OpenCV中平均2分,但每当我尝试一些东西时,我通常会遇到一个错误,涉及元组的错误使用。我试图找到cv.HoughLines2返回的线的中心点。我知道第[0]行存储(x1,y1)项,第[1]行存储(x2,y2)项,但我不知道如何进行平均,以便在cv2.circle()中使用它们

如何在OpenCV中平均两个点

lines = cv.HoughLines2(dst, storage, cv.CV_HOUGH_PROBABILISTIC, rho, cv.CV_PI/(theta+1), thresh_1, min_len, max_dist)

i = 0
avr = 0
for line in lines:
         #print line

        cv.Line(image, line[0], line[1], cv.CV_RGB(255, 0, 0), 1, 8)
        i = i+1
        avr = (line[0] + line [1])/2

        cv2.circle(image, avr, 4, cv.CV_RGB(0, 255, 0), 1, 8, 0)

将x和y分别平均,然后重新组合成一个元组

我忘记了python语法,所以psuedocode应该是:

avg=[ (point1_x+point2_x)/2, (point1_y+point2_y)/2 ]

在Python中添加元组似乎将它们连接起来:

In [1]: (1, 2) + (2, 1)
Out[1]: (1, 2, 2, 1)
这不是你想要的。尝试:

avr = ((line[0][0] + line[1][0])/2, (line[0][1] + line[1][1])/2)
尝试:

avr = cv.cvPoint((line[0].x + line [1].x)/2, (line[0].y + line [1].y)/2)