2010-11-16 28 views
4

Comment appliquer la formule de lissage guassian pour un graphique qui est dans le tableau?application de formule de lissage guassian

ces tableaux sont mappés à une couleur et tracés sur le graphique. Je veux le gradient linéaire de la couleur après l'application de lissage guassian ..

Je veux connaître la formule exacte de lissage de guassian aussi.

+1

me demander quels détails que vous voulez. – curiosity

Répondre

9

Je crois que ce que vous demandez est généralement appelé un "flou gaussien" dans les applications de retouche photo. C'est simplement le résultat du flou d'une image utilisant une fonction gaussienne, résultant en une réduction du bruit visuel et des détails. Vous pouvez en savoir plus sur le Gaussian blur et Gaussian functions en général sur les excellents articles de Wikipédia consacrés aux sujets, y compris la nature des formules et comment ces fonctions sont généralement mises en œuvre. L'algorithme de base utilisé est généralement le même, mais il existe quelques approches différentes pour l'implémenter, principalement en essayant d'accélérer la tâche par calcul.

Si vous êtes à la recherche de code qui est déjà écrit pour appliquer un flou gaussien, consultez ces liens:

Si vous êtes à la recherche d'une solution d'accueil qui ne vous oblige pas à le faire ou lire tout vous codage, il y a deux grands, ouvert cadres de sources disponibles:


En ce qui concerne la façon d'appliquer un flou gaussien à un graphique dans un tableau, vous allez avoir besoin de fournir plus de détails si vous voulez une aide plus spécifique (comme l'affichage du code représentant les objets graphiques Dans la question). Par souci d'exhaustivité, je vais supposer que vous avez une série de Images, chacun représentant un graphique, stocké dans un tableau. (Bien que, si vous utilisez simplement un tableau standard, vous pouvez envisager de passer à une collection fortement typée, comme List<Image>.) Pour appliquer l'effet à vos graphiques, vous pouvez simplement itérer chaque image dans le tableau et appliquer le code nécessaire à la mise en œuvre spécifique que vous installez sur:

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