Применение формулы сглаживания

Как применить формулу сглаживания Гасса для графа, который находится в массиве?

эти массивы отображаются на цвет и наносятся на график. я хочу линейный градиент цвета после применения сглаживания по Гассу..

Я тоже хочу знать точную формулу сглаживания по-гассиански.

1 ответ

Решение

Я считаю, что то, что вы просите, обычно называется "размытие по Гауссу" в приложениях для редактирования фотографий. Это просто результат размытия изображения с использованием функции Гаусса, что приводит к уменьшению визуального шума и детализации. Вы можете прочитать больше о гауссовых размытиях и гауссовских функциях в целом в превосходных статьях Википедии, посвященных предметам, включая природу формул и то, как эти функции обычно реализуются. Используемый базовый алгоритм, как правило, тот же, но есть несколько различных подходов к его реализации, в основном в попытках ускорить задачу в вычислительном отношении.

Если вы ищете код, который уже написан для применения размытия по Гауссу, проверьте следующие ссылки:

Если вы ищете встраиваемое решение, которое не требует от вас написания или написания кода самостоятельно, есть пара отличных платформ с открытым исходным кодом:


Что касается того, как применить размытие по Гауссу к графу в массиве, вам потребуется предоставить больше подробностей, если вы хотите получить более конкретную помощь (например, опубликовать код, представляющий рассматриваемые объекты графа).

Ради полноты я собираюсь предположить, что у вас есть серия Images каждый из которых представляет график, хранящийся в массиве. (Хотя, если вы просто используете стандартный массив, вы можете рассмотреть возможность перехода к строго типизированной коллекции, например List<Image>.) Чтобы применить эффект к своим графикам, вы можете просто перебрать каждое изображение в массиве и применить необходимый код для конкретной реализации, с которой вы согласились:

public void SmoothGraphs(List<Image> graphs)
{
    foreach (Image graph in graphs)
    {
        //Apply your Gaussian blur method to the image

        //(for example, with AForge.NET, you might use the following code:)
        GaussianBlur filter = new GaussianBlur(4, 11);
        filter.ApplyInPlace(graph);
    }
}
Другие вопросы по тегам