Я пытаюсь найти расстояние между двумя неправильными краями в двоичном изображении через разные промежутки времени. Я хочу найти расстояние/длину красной линии (расстояние между черным краем внизу и краем черного пика вверху). Не уверен, какой метод использовать для этого. Я также сделал определение края. Но не уверен, как найти расстояние между краями (зелеными линиями). Было бы здорово, если бы я мог также отслеживать зеленые линии и рисовать линию (не прямую) поверх нее. Я пытаюсь сделать все это с помощью пакетов OpenCV и Scipy. Пожалуйста, дайте мне знать, если я должен подойти к этой проблеме каким-либо другим способом. И в моем случае я не могу определить координаты вручную, потому что у меня есть огромный набор данных для ежедневной работы.
topLeft = count(mask[0])
bottomLeft = count(mask[h])
# to shadow and hide the old left line
mask = line(mask, (topLeft, 0), (bottomLeft, h), (0, 0, 0), 80)
topRight = count(mask[0])
bottomRight = count(mask[h])
# to shadow and hide the old right line
mask = line(mask, (topRight, 0), (bottomRight, h), (0, 0, 0), 80)
mask = cv2.cvtColor(mask, cv2.COLOR_GRAY2BGR)
# to draw new clean left line
mask = line(mask, (topLeft, 0), (bottomLeft, h), (128, 0, 255), 25)
# to draw new clean right line
mask = line(mask, (topRight, 0), (bottomRight, h), (128, 0, 255), 25)
a = center(topLeft, 0, bottomLeft, h)
b = center(topRight, 0, bottomRight, h)
mask = line(mask, a, b, (128, 0, 255), 25)
cv2.imwrite("out2.jpg", mask)
Blockquote