Использование Image Magick для измерения облачности неба

Наткнулся на другую тему:

В цифровое фото, как определить, что гора закрыта облаками?

об анализе изображений, но я не мог понять, как перейти от этого к тому, что я хотел бы сделать, что кажется чем-то похожим.

По сути, я хочу сделать снимок неба (только 640 x 480) и измерить, насколько оно «голубое» или насколько серое/облачное. У меня есть много сравнительных изображений, которые я мог бы использовать, и я не уверен, стоит ли пытаться использовать свертку или просто какое-то измерение гистограммы.

В идеале я хотел бы указать процентное значение, которое приблизительно соответствует «голубизне» изображения.

Любые мысли/идеи или примеры команд/скриптов были бы замечательны.

Спасибо за прочтение.

Андрей


person Andrew Johnson    schedule 06.10.2013    source источник


Ответы (2)


Я не специалист по обработке изображений, но могу предположить, что если преобразовать изображение в цветовое пространство HSV, все пиксели, представляющие беспрепятственную часть неба, будут иметь высокую насыщенность и оттенок, близкий к синему. Я бы проигнорировал канал значений, потому что яркость меняется в зависимости от времени суток. просто установите свой оттенок и порог насыщенности соответствующим образом, посчитайте пиксели и посмотрите, сколько пикселей облаков и неба вы получите.

Не уверен, насколько хорошо это будет работать, но это идея.

person EternityForest    schedule 06.10.2013
comment
Спасибо, но знаете ли вы команды imagemagick, которые могут выполнять эти операции? - person Andrew Johnson; 06.10.2013

У меня был тот же вопрос в прошлом месяце после добавления модуля камеры к моей метеостанции на базе Raspberry Pi.

Я протестировал эту команду imagemagick:

convert file.jpg -colors 8 -format "%c" histogram:info:

чтобы получить 8 наиболее представленных цветов этой части неба в формате RGB.

Я понял, что вы можете оценить процент заливки по этим 3 числам, а серое изображение (облачно) составляет что-то вроде 33% 33% 33%. Я этого не делал, но с помощью команды awk или какого-нибудь Perl вы сможете это сделать.

Но здесь (в Конго) голубое небо не так далеко от серого неба. Так что это не идеальный метод для вычисления коэффициента облачности. Вместо этого было бы неплохо вычислить дисперсию, чтобы увидеть, есть ли у вас облака или небо однородного цвета. Или, может быть, вычислить оба и посмотреть, что добавить. Если вы делаете это несколько раз в час, вы можете проследить эволюцию?

Прочитав ответ EternityForest, я понял, что вы можете использовать

-colorspace HSB

or

-colorspace HSL

в моей предыдущей команде. Если вы поставите 1 вместо 8, вы получите наиболее представленное значение.

Некоторые обсуждения по этому поводу на форуме imagemagick

Я останусь на связи с этой темой, потому что мне тоже очень интересно решить этот вопрос об облачности!

Удачи,

Грег.

person iero    schedule 10.10.2013