2011-04-10 3 views
0

J'utilise AForge.net et je veux montrer dans une zone de texte la valeur de l'écart-type. Le code suivant ne fonctionne pas:Pourquoi ImageStatistics.Gray est-il nul?

AForge.Imaging.ImageStatistics stat = new AForge.Imaging.ImageStatistics(btm_1); 
AForge.Math.Histogram gray = stat.Gray; 
this.textB_1.Text = gray.StdDev.ToString(); 

Il échoue avec l'erreur suivante:

Object reference not set to an instance of an object.

Les deux gray et stat.Gray sont nuls.

+1

Ce n'est pas standard * divide *. C'est la norme * déviation *. –

+0

désolé, mon erreur – kukula

Répondre

1

Aviez-vous une image en niveaux de gris?

1

Le official documentation pour la propriété Gray dit:

Note:The property is valid only for grayscale images (see IsGrayscale property).

Je suppose que votre image n'est pas une image en niveaux de gris, et la propriété Gray retourne null. Il serait préférable qu'il lance un InvalidOperationException car il pourrait donner un aperçu de la cause de l'erreur, et il échouerait rapidement.

+0

Bien sûr, j'ai l'image en niveaux de gris. Je le binarise avec un seuil et j'utilise aussi le détecteur Canny Edge d'Aforge. Cela fonctionne bien c'est pourquoi je suis surpris J'ai un problème avec l'histogramme. – kukula

Questions connexes