Я пытаюсь использовать opencv python interface cv2, чтобы определить, является ли многоугольник выпуклым. Из всего, что я нашел в Интернете, входной контур должен быть многочисленным массивом кортежей float32 для каждой точки. Поэтому я предположил это работать так:Создать контур с нуля в python OpenCV (cv2)
import cv2, numpy
contour = numpy.array([
(378, 949), (375, 940), (368, 934),
(359, 932), (350, 937), (345, 955),
(351, 962), (359, 966), (368, 964),
(376, 958) ], numpy.float32)
cv2.isContourConvex(contour)
Но я получаю эту ошибку:
OpenCV Error: Unsupported format or combination of formats (The matrix can not be converted to point sequence because of inappropriate element type) in cvPointSeqFromMat, file /tmp/buildd/opencv-2.3.1/modules/imgproc/src/utils.cpp, line 59
Может кто-нибудь сказать мне, какой тип элемента было бы целесообразно и как поэтому создать контур с нуля ?
Угадайте: вы можете изменить dtype с float на int –