===== Градиентный фильтр ===== Градиент - это вектор, показывающий направление наискорейшего возрастания некоторой функции, его модуль равен скорости роста в этом направлении. Градиентный фильтр относится к классу разностных [[линейные_фильтры|линейных фильтров]]. В обработке изображений разностные фильтры, и в том числе градиент, иногда называют **фильтрами выделения границы объектов**. В отличие от сглаживающих и контраст-повышающих фильтров, не меняющих среднюю интенсивность изображения, в результате применения разностных операторов получается, как правило, изображение со средним значением пикселя близким к нулю. При этом вертикальным перепадам - границам областей на исходном изображении - соответствуют на результирующем изображении пиксели с большими по модулю значениями. {{:processing:lena_1.jpg|}} {{:processing:lena_2.jpg|}} В общем виде производная по оси //X// (или по оси //Y//) для дискретной функции представима в виде {{:processing:grad_1.jpg|}} (или {{:processing:grad_2.jpg|}}), где знак {{:processing:grad_3.jpg|}} обозначает свертку дискретных функций, {{:processing:grad_4.jpg|}} и {{:processing:grad_5.jpg|}} с дифференцируемой функцией {{:processing:grad_6.jpg|}} (с изображением). Существуют различные алгоритмы вычисления производной дискретной двумерной функции, в программе ФемтоСкан реализованы три алгоритма: * Разностный. В этом алгоритме производная по оси //X// (или //Y//) в точке определяется как разность между ее соседями слева и справа по строке(или сверху и снизу по столбцу). * [[http://ru.wikipedia.org/wiki/%D0%9F%D1%80%D1%8E%D0%B8%D1%82%D1%82|Прюитт]]. Этот метод был создан доктором Джудит Прюитт (Judith Prewitt) для наиболее эффективного обнаружения границ на медицинских изображений. В нем производная в точке - это треть от суммы разностей между соседями в своей строке, на строчку выше и ниже (или же в трех столбцах - своем, столбце слева и столбце справа). * [[http://ru.wikipedia.org/wiki/%D0%9E%D0%BF%D0%B5%D1%80%D0%B0%D1%82%D0%BE%D1%80_%D0%A1%D0%BE%D0%B1%D0%B5%D0%BB%D1%8F|Собель]]. Этот алгоритм отличается от Прюитт тем, что разность между соседями в своей строке (или столбце) берется с удвоенным весом. Вызов функции **Градиент** осуществляется из [[меню_математика|меню Математика]] -> [[линейные_фильтры|Линейные фильтры]] или кнопкой {{:processing:grad_7.jpg|}}. При вызове функции на экране появляется диалоговое окно с двумя параметрами. * Параметр **Алгоритм** определяет метод, по которому будут вычислены производные для определения градиента. Реализованы три метода: * разность, * прюитт, * и собель. * Параметр **Как считать** задает способ вычисления комбинации между производными по двум осям. Это может быть: * горизонтальная или вертикальная проекция градиента(в этом случае вклад будет вносить только частная производная по соответствующему направлению), * проекция градиента на произвольный вектор, * амплитуда (модуль) градиента, то есть корень из суммы квадратов.