Welcome to ShenZhenJia Knowledge Sharing Community for programmer and developer-Open, Learning and Share
menu search
person
Welcome To Ask or Share your Answers For Others

Categories

How to apply guassian smoothening formula for a graph which is in array?

these array are mapped to a color and plotted on the graph. i want the linear gradient of color after applying guassian smoothening..

I want to know the exact guassian smoothening formula too.

See Question&Answers more detail:os

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
thumb_up_alt 0 like thumb_down_alt 0 dislike
228 views
Welcome To Ask or Share your Answers For Others

1 Answer

I believe what you're asking for is typically called a "Gaussian blur" in photo-editing applications. It is simply the result of blurring an image using a Gaussian function, resulting in a reduction of visual noise and detail. You can read more about the Gaussian blur and Gaussian functions in general on the excellent Wikipedia articles devoted to the subjects, including the nature of the formulae and how these functions are commonly implemented. The basic algorithm used is generally the same, but there are a few different approaches to implementing it, mainly attempting to speed up the task computationally.

If you're looking for code that's already written to apply a Gaussian blur, check out these links:

If you're looking for a drop-in solution that doesn't require you to do or read any coding yourself, there are a couple of great, open-source frameworks available:


As far as how to apply a Gaussian blur to a graph in an array, you're going to need to provide more details if you want more specific help (like posting the code representing the graph objects in question).

For the sake of completeness, I'm going to assume that you have a series of Images, each representing a graph, stored in an array. (Although, if you're just using a standard array, you might consider moving to a strongly-typed collection, like a List<Image>.) To apply the effect to your graphs, you can simply iterate through each image in the array and apply the necessary code for the specific implementation you settle upon:

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);
    }
}

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
thumb_up_alt 0 like thumb_down_alt 0 dislike
Welcome to ShenZhenJia Knowledge Sharing Community for programmer and developer-Open, Learning and Share

548k questions

547k answers

4 comments

86.3k users

...