Intento usar la función checkContour() en la nueva API pyi api (cv2) y do funciona si creo contornos que se verificarán usando findContours p.Comprobando el área del contorno en opencv usando python
contours, hierarchy = cv2.findContours(imgGray, cv2.RETR_LIST, cv2.CHAIN_APPROX_SIMPLE)
cv2.contourArea(contours[0])
sin embargo, cuando se crea el contorno por mi cuenta el siguiente código no funciona
contour = numpy.array([[0,0], [10,0], [10,10], [5,4]])
area = cv2.contourArea(contour)
y devuelve "error: (-215) contour.checkVector (2)> = 0 & & (contour.depth() == CV_32F || contour.depth() == CV_32S) en función contourArea"
cuando cambio a
contour = numpy.array([[0,0], [10,0], [10,10], [5,4]], dtype=numpy.int32)
llegué "error: (-210) La matriz no se puede convertir a señalar secuencia debido a inapropiado tipo de elemento en cvPointSeqFromMat función"
Cómo hacer que el código siguiente en C++ de documentación
vector<Point> contour;
contour.push_back(Point2f(0, 0));
contour.push_back(Point2f(10, 0));
contour.push_back(Point2f(10, 10));
contour.push_back(Point2f(5, 4));
double area0 = contourArea(contour);
funcionan en la última API de Python (2.3)?