#c# #null #histogram #aforge
#c# #null #гистограмма #aforge
Вопрос:
Я использую AForge.net и я хочу показать в текстовом поле значение стандартного отклонения. Следующий код не работает:
AForge.Imaging.ImageStatistics stat = new AForge.Imaging.ImageStatistics(btm_1);
AForge.Math.Histogram gray = stat.Gray;
this.textB_1.Text = gray.StdDev.ToString();
Сбой со следующей ошибкой:
Ссылка на объект не установлена на экземпляр объекта.
Оба gray
и stat.Gray
равны нулю.
Комментарии:
1. Это не стандартное разделение . Это стандартное отклонение .
Ответ №1:
У вас было изображение в оттенках серого?
Ответ №2:
В официальной документации для Gray
свойства говорится:
Примечание: Свойство допустимо только для изображений в оттенках серого (см. Свойство IsGrayscale).
Я предполагаю, что ваше изображение не является изображением в оттенках серого, и Gray
свойство возвращает значение null. Было бы предпочтительнее, чтобы он выдавал InvalidOperationException
, потому что это могло бы дать некоторое представление о причине ошибки, и это быстро привело бы к сбою.
Комментарии:
1. Наверняка у меня есть изображение в оттенках серого. Я бинаризую его с помощью threshold, а также использую детектор Canny Edge от Aforge. Это работает нормально, поэтому я удивлен, что у меня проблема с гистограммой.