Я новичок в python, и я создал среду anaconda и запускаю данный код, но он показывает ошибку
for c in cnts:
# approximate the contour
peri = cv2.arcLength(c, True)
approx = cv2.approxPolyDP(c, 0.02 * peri, True)
# our approximated contour should have four points
if len(approx) == 4:
screenCnt = approx
break
# show the contour (outline) of the piece of paper
#print("STEP 2: Find contours of paper")
cv2.drawContours(orig, [screenCnt], -1, (0, 255, 0), 2)
# apply the four point transform to obtain a top-down
# view of the original image
warped = four_point_transform(orig, screenCnt.reshape(4, 2) * ratio)
Ошибка
NameError Traceback (последний вызов последнего ) в 122 # показать контур (контур) листа бумаги 123 #print («ШАГ 2: Найти контуры бумаги») -> 124 cv2.drawContours (orig, [screenCnt], -1, (0, 255 , 0), 2) 125 126 # применить четырехточечное преобразование для получения нисходящего
NameError: имя 'screenCnt' не определено
, но в коде, который я уже определил screenCnt. Первоначально этот код работал правильно, но теперь он не работает или показывает ошибку после каждого альтернативного выполнения. (он запускается правильно в первый раз и при перезапуске ядра выдает ту же ошибку).
или если я установил screenCnt = 0 или screenCnt = None, это дает ошибку
error Traceback (самая последняя последний вызов) в 123 # показать контур (контур) листа бумаги 124 #print («ШАГ 2: Найти контуры бумаги») -> 125 cv2.drawContours (orig, [screenCnt], -1, (0 , 255, 0), 2) 126 127 # применить четырехточечное преобразование для получения нисходящей
ошибки: OpenCV (4.2.0) C: \ projects \ opencv-python \ opencv \ modules \ imgproc \ src \ drawing. cpp: 2509: ошибка: (-215: утверждение не выполнено) npoints> 0 в функции 'cv :: drawContours'