Страница 1 из 1

Использование фильтра "Найти контуры"

Добавлено: 17 мар 2011, 12:40
Вадим
Здравствуйте.

Я пользуюсь фильтром "Найти контуры" для определения распределения частиц люминофора по размерам.

Я попытался варьировать значения параметров "blockSize" и "threshValue", и вот что у меня вышло.

В качестве примера я взял фотографию люминофора ZnS:Cu. Для корректной работы фильтра я предварительно обработал фотографию в программе "Paint.NET", нарисовав толстые границы между агрегированными частицами. Фотографию с дезагрегированными частицами я выслал Ольге Ротбардт. Затем, к полученной фотографии я применил фильтр "Адаптивный порог", но не тот, который входит в состав фильтра "Найти контуры", а тот, который входит в группу фильтров "Преобразование в серый". Опытным путем я подобрал значения параметров "blockSize" = 40 и "threshValue" = -25.00, при которых бинаризация изображения прошла наиболее точно. И только после этого я применил фильтр "Найти контуры", установив в нем те же значения параметров "blockSize" = 40 и "threshValue" = -25.00, которые я подобрал в примененном перед этим фильтре "Адаптивный порог" из группы фильтров "Преобразование в серый". Результат также выслан Ольге Родбардт. В результате дезагрегированные частицы выделились отдельными контурами, однако мелкие частицы не выделились контурами вообще. Что я сделал не так? Ведь при применении фильтра "Адаптивный порог" из группы фильтров "Преобразование в серый" с теми же самыми значениями параметров "blockSize" и "threshValue" частицы на полученном бинарном изображении появились, а контурами при применении фильтра "Найти контуры" почему-то не выделились? И что нужно сделать, чтобы контурами выделились не только крупные, но и мелкие частицы на бинарном изображении?

Буду благодарен за помощь.

С уважением,
Вадим Владимирович Бахметьев

Re: Использование фильтра "Найти контуры"

Добавлено: 17 мар 2011, 13:53
Sergey Ivanov
В фильтре "Найти контуры" есть опция showOnSource.
Если флажок стоит, то найденные фигуры показываются на исходном изображении, если он снят - то они показываются на обработанном изображении, на котором производиться непосредственно поиск фигур. Этот флаг удобно снимать для отладки.

Алгоритм работы фильтра Найти Контуры следующий:

1. На вход принимается изображение
2. Оно последовательно обрабатывается всеми вложенными фильтрами. В данном случае одним фильтром Адаптивного порога. Внутрь этого филтра можно накидать любые другие фильтры по вашему выбору.
3. На полученном изображении ищутся фигуры
4. Фигуры рисуются на изображении после шага 1, если флаг showOnSource поставлен, и на изображении после шага 2, если он снят.

Фильтр Адаптивного порога внутри поиска контуров и из меню - это одно и тоже. Получается, что Вы его используете 2 раза.

В существующей версии AltamiStudio 2.1 существует ограничение на минимальный размер фигур.

В новой версии AltamiStudio 3.0, кроме прочего, будут следующие возможности:
1. Ускорение прорисовки фигур
2. Просмотр общей статистики фигур, распределения по размерам.
3. Снятие ограничения на минимальный размер находимых объектов. Пользователь сможет выбирать мин. и макс. границы таких объектов.
4. Возможность построение мультифокуса по документам adfx.

Альфа-версию программы AltamiStudio 3.0 мы планируем выпустить на следующей неделе, о чём оповестим наших пользователей.

Re: Использование фильтра "Найти контуры"

Добавлено: 17 мар 2011, 14:45
Вадим
Большое спасибо за ответ.

Буду ждать третьей версии программы.

Хотелось бы только еще узнать, каков алгоритм автоматического поиска и прорисовки самих фигур, и можно ли будет настраивать этот алгоритм в программе Altami Studio 3.0?

Re: Использование фильтра "Найти контуры"

Добавлено: 18 мар 2011, 14:44
Sergey Ivanov
Алгоритм поиска заключается в том, что мы ищем границы между чёрными и белыми цветами на изображении и объединяем связанные участки в одну фигуру.
В результате получается множество полигонов, один - для каждого объекта.

Прорисовка фигур заключается в том, что приложение просто рисует найденный фигуры на изображении, по полигонам, полученным на предыдущем этапе.

В фильтрах поиска фигур и их прорисовке будут присутствовать параметры для настройки и улучшения качества работы.

Re: Использование фильтра "Найти контуры"

Добавлено: 17 июн 2011, 09:34
alex72
Добрый день. Вы не могли бы подсказать, как настраивать фильтр "Найти контуры"?

Re: Использование фильтра "Найти контуры"

Добавлено: 20 июн 2011, 09:49
Olga Rotbardt
Фильтр "Найти контуры" настраивается параметрами Размер (задает степень фильтрации), Минимальный порог ( минимальный порог срабатывания фильтра) и Максимальный порог (максимальный порог срабатывания фильтра).

Re: Использование фильтра "Найти контуры"

Добавлено: 29 июн 2011, 09:17
alex72
Ага. А что задает параметр ShowOnSource?

Re: Использование фильтра "Найти контуры"

Добавлено: 29 июн 2011, 14:26
Olga Rotbardt
alex72, параметр Показать на исходном изображении (ShowOnSource) показывает контуры на исходном изображении.