Как извлечь контуры каждой сложенной сумки (веб-строп) на изображении глубины с помощью OpenCV?Python

Программы на Python
Ответить
Anonymous
 Как извлечь контуры каждой сложенной сумки (веб-строп) на изображении глубины с помощью OpenCV?

Сообщение Anonymous »

Я работаю над задачей обработки изображений в Python/OpenCV и зациклился на том, как сегментировать каждую «паутину» (группу сложенных пакетов) как отдельный контур.
Чего я пытаюсь достичь:
  • Обнаружить каждую паутину и получить по одному контуру на каждую паутину, чтобы можно было сосчитать их.
  • Мне не нужна точная по пикселям сегментация, но мне нужны достаточно четкие границы между строками.
У меня есть изображение с глубиной в оттенках серого, созданное с помощью модели Depth-Anything. Изображение выглядит следующим образом:
Изображение

Код: Выделить всё

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
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Python»