Есть ли какой-либо супер алгоритм FAST для нахождения СТРОК на изображении?

Таким образом, у меня есть Изображение как это

 CG generated bathroom
(источник: de-viz.ru)

Я хочу получить что-то вроде этого (я hevent, проведенный все линии, которые я хочу, но я надеюсь, что можно получить мою идею),

 Black & White CG generated bathroom with some red lines  between tiles
(источник: narod.ru)

Мне нужен некоторый супер алгоритм FAST для нахождения всех прямых линий на нем. Я хочу дать параметрам алгоритма как продолжительность минуты и макс. искажение строки. Я хочу добраться относительно пиксельных проводов изображения, запускаются и конечные точки строк.

Таким образом на этом изображении для нахождения всех строк между мозаиками и теми 2 черными линиями на вершине.

Таким образом, мне нужен алгоритм для супер быстрых прямых линий открытия различных цветов на изображении.

Есть ли какой-либо такой алгоритм? (супер duper быстро =)

21
задан Glorfindel 22 July 2019 в 04:24
поделиться

3 ответа

Вам необходимо использовать сложные методы обработки изображений, такие как Canny Edge Detection, Marr-Hildreth Edge Detection, Gaussian Filtering и Hough Transform и т. Д.

Но существование "супер быстрый »метод маловероятен.

Минимальная сложность большинства алгоритмов обработки изображений составляет не менее O (N ^ 2) .

Под "сверхбыстрым" я подразумеваю не более O (1) ;)

Некоторые ссылки, которые могут помочь:

  1. http://www.sci.utah.edu/~cscheid /spr05/imageprocessing/project4/
  2. http://www.contrib.andrew.cmu.edu/~suppe/mobot/
  3. http://www.dunwich.org/baptiste/sic/ecms/ecpublis. html # 2
  4. http://wayback.archive.org/web/20090304153603/http://hdebruijn.soo.dto.tudelft.nl/jaar2006/alders.htm
16
ответ дан 29 November 2019 в 21:49
поделиться

Думаю, вам понадобится преобразование Хафа или преобразование Радона . Прочтите статьи, на которые я ссылаюсь, и не стесняйтесь задавать любые вопросы:)

5
ответ дан 29 November 2019 в 21:49
поделиться

Я не знаю, насколько хорошо это будет работать в вашем приложении, но вы можете попробовать что-то вроде определения краев. Не уверен, как преобразовать эти края в векторы, если это то, что вы ищете, но это может быть местом для начала. В любом случае, некоторые алгоритмы определения краев (например, дискретный оператор Лапласа) довольно быстро работают на современных вычислительных архитектурах.

О, и если вы это сделаете, вы, вероятно, захотите преобразовать изображение в YCbCr и использовать только компонент luma (Y). Это тоже быстрая операция

0
ответ дан 29 November 2019 в 21:49
поделиться
Другие вопросы по тегам:

Похожие вопросы: