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