Функция |
Описание |
Пример |
cv2.findContours() |
Находит контуры на изображении. Возвращает список контуров и иерархию контуров. |
contours, hierarchy = cv2.findContours(image, mode, method) |
cv2.CHAIN_APPROX_SIMPLE |
Метод аппроксимации контуров, который сжимает горизонтальные, вертикальные и диагональные сегменты и оставляет только их конечные точки. |
contours, hierarchy = cv2.findContours(image, cv2.RETR_TREE, cv2.CHAIN_APPROX_SIMPLE) |
cv2.CHAIN_APPROX_NONE |
Метод аппроксимации контуров, который сохраняет все точки контура. |
contours, hierarchy = cv2.findContours(image, cv2.RETR_TREE, cv2.CHAIN_APPROX_NONE) |
cv2.RETR_EXTERNAL |
Режим извлечения контуров, который возвращает только внешние контуры. |
contours, hierarchy = cv2.findContours(image, cv2.RETR_EXTERNAL, cv2.CHAIN_APPROX_SIMPLE) |
cv2.RETR_TREE |
Режим извлечения контуров, который возвращает иерархию вложенных контуров. |
contours, hierarchy = cv2.findContours(image, cv2.RETR_TREE, cv2.CHAIN_APPROX_SIMPLE) |
cv2.drawContours() |
Рисует контуры на изображении. |
cv2.drawContours(image, contours, -1, (0, 255, 0), 2) |
cv2.contourArea() |
Вычисляет площадь контура. |
area = cv2.contourArea(contour) |
cv2.arcLength() |
Вычисляет периметр контура. |
perimeter = cv2.arcLength(contour, True) |
Примечание: В примерах image
- это исходное изображение, contours
- список найденных контуров, hierarchy
- иерархия контуров, contour
- один из найденных контуров.