Sigma optimal pour le filtrage gaussien d'une image?
Lors de l'application d'un flou Gaussien sur une image, généralement le sigma est un paramètre (par exemple Matlab et ImageJ).
Comment on sait ce que sigma devrait l'être? Est-il un moyen mathématique de comprendre une optimale sigma? Dans mon cas, j'ai quelques objets dans les images qui sont vives par rapport à l'arrière-plan, et j'ai besoin de les trouver par le calcul. Je vais appliquer un filtre Gaussien pour faire le centre de ces objets, même les plus brillantes, qui nous l'espérons, facilite la recherche. Comment puis-je déterminer les conditions optimales de sigma pour cela?
source d'informationauteur sepiroth
Vous devez vous connecter pour publier un commentaire.
Il n'y a pas de formule pour déterminer pour vous; le optimal sigma dépendra des facteurs de l'image - principalement la résolution de l'image et de la taille des objets (en pixels).
Notez également que Gaussien filtres ne sont pas fait pour égayer n'importe quoi; vous voudrez peut-être regarder dans le contraste de la maximisation des techniques - sonne comme quelque chose d'aussi simple que d'étirement d'histogramme pourrait bien fonctionner pour vous.
edit: Plus d'explication - sigma fondamentalement contrôle la manière dont le "gras" du noyau de la fonction va être; plus sigma valeurs de flou sur un plus grand rayon. Puisque vous travaillez avec des images, des plus grands sigma vous force à utiliser un plus grand noyau de la matrice afin de disposer de suffisamment de la fonction d'énergie. Pour votre cas particulier, vous voulez que votre noyau être assez grand pour couvrir la plupart de l'objet (de sorte qu'il est assez floue), mais pas si grand qu'il commence à se chevauchent plusieurs objets voisins, à une époque - donc en fait, l'objet séparation est également un facteur, le long de la taille.
Puisque vous avez mentionné MATLAB - vous pouvez prendre un coup d'oeil à divers noyaux gaussiens avec des paramètres différents à l'aide de la
fspecial('gaussian', hsize, sigma)
fonction, oùhsize
est la taille du noyau et de l'sigma
est, ainsi, le sigma. Essayez de varier les paramètres pour voir comment il évolue.Vous devez trouver un min/max de la fonction G telle que G(X,sigma) où X est un ensemble de vos observations (dans votre cas, votre image en niveaux de gris) , Cette fonction peut être rien d'autre que de maintenir "l'ordre", de l'intensité de l'iamge, par exemple, cela peut être fait avec le 1er dérivés de l'image (G),
cela vous donne le résultat de la première dérivée d'une image, maintenant, vous voulez trouver max sigma par
maximzing G(X,sigma), ce qui signifie que vous essayez quelques sigmas (disons, dans l'ordre croissant) jusqu'à ce que vous atteignez un sigma qui fait G maximale. Cela peut également être fait avec de la dérivée seconde.