У меня проблема с поиском самого большого контура. Я использую изображение после хитрого обнаружения краев:
Затем я использую
contours, hierarchy = cv2.findContours(edges,cv2.RETR_TREE,cv2.CHAIN_APPROX_SIMPLE)
, чтобы найти контуры:
Следующий шаг - найти самый большой контур ... Я пробовал:
contour = max(contours, key = cv2.contourArea)
, но это дает мне что-то вроде:
Есть идеи, как это исправить? Спасибо!
Код:
import cv2
image = cv2.imread('TEST_1.png')
gray = cv2.cvtColor(image, cv2.COLOR_BGR2GRAY)
gaussian = cv2.GaussianBlur(gray,(3,3),cv2.BORDER_DEFAULT)
edges = cv2.Canny(gaussian,100,200)
contours, hierarchy = cv2.findContours(edges,cv2.RETR_TREE,cv2.CHAIN_APPROX_SIMPLE)
contour = max(contours, key = cv2.contourArea)
contourImg = cv2.drawContours(image, contour, -1, (0,255,0), 3)
cv2.imshow("Contours", contourImg)
cv2.waitKey(0)
cv2.destroyAllWindows()
Кроме того, площадь контура для этой точки составляет 109, а для моего самого большого контура - 3,5