Чего я пытаюсь достичь:
- Обнаружить каждую паутину и получить по одному контуру на каждую паутину, чтобы можно было сосчитать их.
- Мне не нужна точная по пикселям сегментация, но мне нужны достаточно четкие границы между строками.

Код: Выделить всё
import cv2
import numpy as np
img = cv2.imread("output.png", cv2.IMREAD_GRAYSCALE)
# Equalize + CLAHE to enhance contrast
eq = cv2.equalizeHist(img)
clahe = cv2.createCLAHE(clipLimit=2.0, tileGridSize=(8,8))
clahe_img = clahe.apply(eq)
# Canny + dilate
edges = cv2.Canny(clahe_img, 50, 150)
kernel = np.ones((3,3), np.uint8)

Таким образом, я получаю много контуров, но они очень неровные и сломанные, и они не образуют ни одного чистого контура для каждой паутины. Из-за этого сложно подсчитать количество строп или измерить наклон каждого слоя.
Вместо этого мне хотелось бы чего-то вроде одного гладкого замкнутого контура на ряд мешков (или на «блок» мешков), чтобы я мог их просто посчитать.
Любые подсказки или примеры кода о том, как получить более чистые контуры, которые я могу надежно посчитать, были бы очень полезны. Спасибо!
Подробнее здесь: https://stackoverflow.com/questions/798 ... mage-using
Мобильная версия