OpenCV: поиск координат пересечений линий на фото

Я только начинаю изучать программирование OpenCV. Я хотел бы знать, возможно ли получить координаты пересечений линий (жил) из этой фотографии.

http://mormometricanalysis.wu.cz/photo.JPG

На фото отмечены нужные точки красным цветом. Я хочу рассчитать углы между линиями, длину линий и площадь — примеры ниже.

http://mormometricanalysis.wu.cz/

Я провел некоторые исследования по этому вопросу. Но в основном это были примеры поиска линий в двоичном изображении — я не знаю, смогу ли я сделать качественное двоичное изображение из этой фотографии в OpenCV. Вычисление координат точек должно быть максимально точным.

Есть ли какая-либо функция в OpenCV, чтобы сделать это? У вас есть идеи, как это решить?

Заранее благодарю за ответы.

3

Решение

Я должен передать часть поиска пересечений, но чтобы получить двоичное изображение, ваш первый шаг должен быть следующим:

Пороговое изображение. Это должно работать нормально, если контраст всегда такой же высокий, как в примере. Или попробуйте определение края.

Что касается нахождения линий, которые соответствуют венам, у меня есть смутное представление. Позвольте мне попытаться выразить это словами:

  • Попробуйте найти область высокой плотности на бинарном изображении и определить центр [x1, y1].
  • Определить линию с одной фиксированной точкой в ​​центре этой области f (x-x1) = m * x + y1
  • Вращайте линию, изменяя m и оптимизируйте для максимальной корреляции между двоичным изображением линии и двоичным изображением вен
  • Когда вы нашли максимум корреляции, обрежьте участок линии, который фактически перекрывается с веной
  • Повторите со следующим центром высокой плотности

Это может / должно дать вам ряд параметрически определенных линий, где вы можете легко определить пересечения и углы.

1

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]