У меня есть вход в виде трехмерного двоичного изображения и предпочтительный вывод ниже:
Входные данные:
Предпочитаемый вывод:
Какие методы обработки изображений я должен искать, чтобы у меня остались только остроконечные объекты, как и в приведенном выше предпочтительном выводе?
spiky
объект? Что на самом деле называет это остроконечным? Каковы основные характеристики для обнаружения колючих объектов?Ответы:
На границах вашего «остроконечного объекта» больше углов, поэтому один из подходов - настроить детектор углов для этого.
Например, я вычислил определитель тензора структуры (код Mathematica ниже) изображения с преобразованием расстояния:
Бинаризация с гистерезисом дает это изображение, которое должно стать хорошей отправной точкой для алгоритма сегментации по вашему выбору:
Код Mathematica (
src
исходное изображение, которое вы разместили)Сначала я вычисляю преобразование расстояния входного изображения. Это создает контрасты по всей области объекта (а не только по границе), поэтому весь объект может быть обнаружен.
Далее я готовлю компоненты структуры тензора . Размер фильтра для гауссовых производных, если 5, размер окна равен 20.
Чтобы вычислить угловой фильтр для каждого пикселя, я просто подключаю их к символическому определителю тензора структуры:
Что в основном так же, как:
Преобразование этого в изображение и масштабирование его до диапазона 0..1 дает изображение детектора угла выше.
Наконец, бинаризация с правильными порогами дает окончательное двоичное изображение:
источник