Код пробуется так:
# Buscamos los contornos
(contornos,_) = cv2.findContours(canny.copy(), cv2.RETR_EXTERNAL, cv2.CHAIN_APPROX_SIMPLE)
(contornos2,_) = cv2.findContours(canny2.copy(), cv2.RETR_EXTERNAL, cv2.CHAIN_APPROX_SIMPLE)
print("He encontrado {} objetos".format(len(contornos)))
print("He encontrado {} objetos".format(len(contornos2)))
cv2.drawContours(img,contornos,-1,(0,0,255), 2)
cv2.drawContours(img2,contornos2,-1,(0,0,255), 2)
cv2.imshow("contornos", img)
cv2.imshow("contornos2", img2)
#momentos y centroide de la imagen de frente
m = cv2.moments(thresh)
print(m)
cX = int(m["m10"] / m["m00"])
cY = int(m["m01"] / m["m00"])
#momentos y centroide de la imagen de arriba
m2 = cv2.moments(thresh2)
print(m2)
cX2 = int(m2["m10"] / m2["m00"])
cY2 = int(m2["m01"] / m2["m00"])
centroide=cv2.circle(canny, (cX, cY), 5, (255, 255, 255), -1)
cv2.circle(canny2, (cX2, cY2), 5, (255, 255, 255), -1)
cv2.imshow("Image", canny)
cv2.imshow("Image2", canny2)
for i, c in enumerate(contornos):
(x,y),(MA,ma),angle = cv2.fitEllipse(c)
print(MA)
print(ma)
prueba=cv2.circle(centroide,(int(x),int(y)),5,(255,255,255),-1)
cv2.imshow("prueba",prueba)
cv2.waitKey(0)
Это дает мне центроид (красная линия) и точку (x, y) при выполнении fitEllipse, выделенного синим цветом, и я хочу провести большую и меньшую ось через центроид и нарисовать его, но я не понимаю. Есть предложения?