В настоящее время я читаю код примера на веб-сайте OpenCV, чтобы найти контуры в изображении.Поиск контуров с порогового изображения
я впервые прочитал изображение и преобразовать в шкале серого:
img = cv2.imread('/.../.../four.png')
imgray = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)
Я затем преобразовать изображение в двоичном путем применения порога:
thresh = cv2.threshold(imgray, 127, 255, 0, cv2.THRESH_BINARY)
Согласно учебники .. я должен затем быть в состоянии назвать findContours()
на пороговом изображении:
contours = cv2.findContours(thresh, cv2.RETR_TREE, cv2.CHAIN_APPROX_SIMPLE)
При попытке выполнить этот код по какой-то причине я получаю ошибку типа:
contours = cv2.findContours(thresh,cv2.RETR_TREE,cv2.CHAIN_APPROX_SIMPLE) TypeError: image is not a numerical tuple
Не знаете почему?
Вот полный код для облегчения читаемости:
img = cv2.imread('/Users/samtozer/Desktop/four.png')
imgray = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)
thresh = cv2.threshold(imgray, 127, 255, 0, cv2.THRESH_BINARY)
contours = cv2.findContours(thresh, cv2.RETR_TREE, cv2.CHAIN_APPROX_SIMPLE)
cv2.drawContours(img, contours, -1, (0,255,0), 3)
Хотите знать, если кто-то испытал эту проблему раньше? И если да, то что происходит не так XD
Заранее спасибо
использовать это: 'контуры _ = cv2.findContours (молотите, cv2.RETR_TREE, cv2.CHAIN_APPROX_SIMPLE) ' –
Просто попробовал, что, все еще получая такое же ошибочное значение –
, можете ли вы напечатать контуры? –