Нет никакой формулы, чтобы определить это для вас; оптимальная сигма будет зависеть от факторов изображения - в первую очередь от разрешения изображения и размера ваших объектов на нем (в пикселях).
Также обратите внимание, что фильтры Гаусса на самом деле ничего не делают ярче; возможно, вы захотите изучить методы максимизации контраста - звучит так, будто что-то простое, например, растяжение гистограммы, может вам подойти.
редактировать: Дополнительные пояснения - сигма в основном контролирует, насколько "толстой" будет ваша функция ядра; более высокие значения сигмы размываются по более широкому радиусу. Поскольку вы работаете с изображениями, большая сигма также заставляет вас использовать большую матрицу ядра, чтобы захватить достаточное количество энергии функции. Для вашего конкретного случая вы хотите, чтобы ваше ядро было достаточно большим, чтобы покрыть большую часть объекта (чтобы он был достаточно размытым), но не настолько большим, чтобы оно начало перекрывать несколько соседних объектов одновременно - так что на самом деле, разделение объектов также является важным фактором наряду с размером.
Поскольку вы упомянули MATLAB, вы можете взглянуть на различные ядра Гаусса с разными параметрами, используя функцию fspecial('gaussian', hsize, sigma)
, где hsize
— размер ядра, а sigma
— это, ну, сигма. Попробуйте изменить параметры, чтобы увидеть, как они меняются.
person
tzaman
schedule
30.06.2010