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