使用Image Magick测量天空的“云量”

时间:2013-10-06 11:49:15

标签: imagemagick cloud percentage weather

我遇到了另一个帖子:

In a digital photo, how can I detect if a mountain is obscured by clouds?

关于分析图像 但是我无法弄清楚如何从那里走到我想做的事情,这似乎有些相似。

基本上,我想拍摄天空的图像(仅640 x 480)并测量它的“蓝色” - 或者灰度/混浊程度。我有很多可以使用的比较图像,我不确定是否尝试使用卷积或只是某种类型的直方图测量。

理想情况下,我想提供一个与图像“蓝色”近似的百分比数字。

任何想法/想法或示例命令/脚本都会很精彩。

感谢阅读。

安德鲁

2 个答案:

答案 0 :(得分:0)

我不是图像处理专家,但我想如果你将图像转换为HSV色彩空间,代表天空无障碍部分的所有像素都将具有高饱和度和接近蓝色的色调。我会忽略价值通道,因为亮度会随着时间的推移而变化。只需适当设置您的色调和饱和度阈值,并计算像素数,然后查看您获得的云与天空像素的数量。

不确定它的效果如何,但这是一个想法。

答案 1 :(得分:0)

上个月,在我的覆盆子基于气象站添加相机模块后,我有同样的问题。

我测试了这个imagemagick命令:

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

以RGB格式获取此天空部分的8种最具代表性的颜色。

我发现你可以从这3个数字中评估一个pourcentage,灰色图像(阴天)是33%33%33%。我没有这样做,但是使用awk命令或一些perl,你可能会这样做。

但是在这里(在刚果),一片蓝天离灰色的天空不远。因此,它不是计算云量因子的完美方法。相反,计算方差以查看是否有云或均匀的彩色天空将是一个不太糟糕的想法。或者可以计算两者并查看附加内容。如果你这么做几个小时,你可以追踪一些进化?

在阅读EternityForest答案后,我发现你可以使用

-colorspace HSB

-colorspace HSL

在我之前的命令中。如果你把1而不是8,你将获得最具代表性的值。

关于imagemagick forum

的一些讨论

我将保持与此线程的联系,因为我真的很有兴趣解决这个云量问题!

祝你好运,

格雷格。