В вашем коде было две проблемы:
Первый был в этой строке:
img = cap.read()
Это потому, что cv2.VideoCapture(src).read()
возвращает 2 аргумента. Первый - логическое значение, True
, когда изображение существует, или False
, если его нет. Второй аргумент - текущий кадр. Итак, вы должны заменить свою строку чем-то вроде:
ret, img = cap.read()
или img = cap.read()[1]
Также эта строка вызвала TypeError
:
vis /=2
Это происходит, потому что нечетные целые числа после деления на 2 получают тип с плавающей запятой. Для успешного запуска вашего детектора углов вы должны импортировать библиотеку numpy
и заменить эту строку другой, которая не преобразует элементы массива изображений в float:
vis = numpy.trunc(vis / 2)