Имеет ли значение какой алгоритм поиска ребер вы используете? - Фотопедия
7 голосов
/ 30 октября 2014

Я играл с имеющимся у меня набором действий, который создает маски ребер с использованием алгоритмов Робертса, Робинсона, Собеля, Превитта и Кирша. Из-за различий в уровнях яркости я решил посмотреть, что произошло, когда я использовал команду «уравнять» на всех из них, а также Photoshop «Найти края».

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

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

Ответы [ 2 ]

4 голосов
/ 16 января 2015

Существует довольно много алгоритмов обработки изображений, кроме тех, которые обычно используются в программном обеспечении для работы с фотографиями. Каждый предназначен для улучшения определенных свойств. Например, некоторые общие свойства:

  • Скорость
  • локализация (хорошая локализация означает, что отклик детектора очень высок у края)
  • размер кромки (например, обнаруживать только большие кромки)
  • прямолинейность края
  • шум (он улавливает, скажем, шум соли и перца как края)
  • ответ угла (распознает ли он углы как края)
  • вращательная инвариантность (ребра дают одинаковый отклик независимо от угла)
  • инвариантность освещения (края дают одинаковый отклик независимо от яркости)

Ни один детектор края не может сделать все это: например, детекторы, инвариантные к освещению, часто воспринимают артефакты jpeg в качестве краев, а истинные детекторы, инвариантные к вращению, часто медленны.

Наглядный пример из http://www.sci.utah.edu/~cscheid/spr05/imageprocessing/project4/, показывает изображение и его обнаружение края "Canny", используя низкий порог. Мы ясно видим артефакты JPEG.

enter image description here enter image description here

Детекторы краев в программном обеспечении для фото часто выбираются по скорости. Обычно это означает маленькие ядра (размер соседства).

Вот пример тестового изображения с откликом детектора краев и откликом с порогом и скелетонизацией:

enter image description here

Sobel и Prewitt похожи, но используют только два ядра (одно x и одно y - дополнительную информацию см. В pdf-ссылке TFuto в комментариях к вопросу). Они имеют худшую локализацию, чем метод Робертса. Метод Робертса использует восемь ядер (N, NE, E, SE, S, SW, W, NW) и поэтому также является более инвариантным относительно вращения и, кажется, лучше обрабатывает углы. Лапласиан Гауссова (LoG) выглядит совершенно по-другому, поскольку использует нулевые пересечения, чтобы найти края линий, но борется с углами.

Для обычной фотографии многие методы, которые возвращают простой отклик интенсивности края (например, Нобелевский, Превитт, Робертс, а не LoG), вполне могут выглядеть похожими. Если изображение имеет резкий контраст, различия могут стать более заметными.

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

Если ядра очень похожи, то это возможно. Методы Собеля и Превитта в основном неразличимы, хотя метод Собеля и больше весит центр.

Имеет ли значение, какой искатель кромки вы используете?

  • Для вычислительной визуализации да это может иметь большое значение для таких приложений, как обнаружение функций и стереоизображение.

  • Для фотографии это зависит от того, какой метод дает вам наилучшие результаты и чего вы пытаетесь достичь. Например, один метод, который дает очень резкий контраст, также может создавать много шума.

0 голосов
/ 16 ноября 2014

Я только что вспомнил, что есть еще один способ создания "краевых" масок. Модуль маскирования Picture Window Pro имеет «функцию маскирования текстур», в которой вы можете выбрать один из трех методов и три размера окна. Основываясь на файле справки, я думаю, что этот тип поиска краев всегда будет давать уникальные результаты. По словам самого руководства PWP

"Параметр« Максимальная разница »вычисляет текстуру как наибольшую разницу между центральным пикселем и всеми другими пикселями в его окрестности. Параметр« Средняя разница »вычисляет текстуру как наибольшую среднюю разницу между центральным пикселем и всеми другими пикселями в его окрестности. Параметр «Отличие от среднего» вычисляет текстуру как разницу между центральным пикселем и средним значением всех остальных пикселей в его окрестности.Эти три метода обычно дают схожие результаты, при этом «Максимальная разница» дает наиболее выраженные эффекты, а «Разница от среднего» - наиболее тонкий эффект. .

Размер соседства

Размер окрестности может быть выбран как 3x3, 5x5 или 7x7. Это выбирает, насколько большая область вокруг каждого пикселя считается его окрестностью. Меньшие значения лучше улавливают мелкие детали, но большие значения могут лучше работать для размытых изображений. "

Добро пожаловать на сайт Фотопедия, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...