Я работаю над изображениями с перекрывающимися линиями (левый участок). В конечном итоге я хочу сегментировать отдельные объекты. Я работаю с преобразованием Hough для достижения этого, и он хорошо работает в поиске линий (значительно) различной ориентации - например, представленный двумя максимумами в пространстве hough ниже (средний участок).Извлечь строчные объекты
- зеленые и желтые линии (оставил участок) и крестики (правого участка) проистекают от подхода, чтобы сделать что-то с толщиной линии. Я не мог понять, как извлечь широкую линию, поэтому я не стал следить.
- Я знаю о двусмысленности присвоения «перекрывающихся пикселей». Я расскажу об этом позже.
Поскольку я не знаю, сколько объектов линии может быть связано одна область, моя идея состоит в том, чтобы итеративно извлечь объект, соответствующий линии hough с наивысшей активацией (здесь окрашен в синий цвет), то есть удалить образный объект с изображением, так что следующая итерация найдет только другую строку.
Но как определить, какие пиксели относятся к объекту с линейной формой?
Функция hough_bin_pixels(img, theta, rho, P)
(от here - показано в правой участке) дает пиксели, соответствующие конкретной линии. Но это, очевидно, слишком тонкое из строки для представления объекта.
Есть ли способ сегментировать/обнаруживать весь объект, который ориентирован вдоль самого сильного houghline?
На самом деле это была действительно крутая идея. У этого есть свои проблемы, если линии действительно различны по длине, подход порогового значения может маскировать локальные максимумы Хау (соответствующие меньшим линиям), которые не являются «высокими», как глобальные максимумы. Я все еще работаю над этим, но в остальном это хороший подход! Спасибо! – Honeybear
Для тех, кто ссылается на этот ответ в будущем, хорошим способом решения проблемы с порогом является использование среднего сдвига для поиска локальных максимумов в преобразовании Хафа. –
Привет @Honeybear, если этот ответ решил ваш вопрос, пожалуйста, рассмотрите [принятие его] (https://meta.stackexchange.com/q/5234/179419), нажав на галочку. Это указывает более широкому сообществу, что вы нашли решение и дали некоторую репутацию как самому, так и самому себе. Это не обязательно. –