0

我遇到了另一个线程:

在数码照片中,如何检测一座山是否被云层遮挡?

关于分析图像,但我不知道如何从那个到我想做的,这似乎有点相似。

基本上,我想拍一张天空的照片(只有 640 x 480)并测量它有多“蓝”——或者有多灰/多云。我有很多可以使用的比较图像,但不确定是尝试使用卷积还是仅使用某种类型的直方图测量。

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

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

谢谢阅读。

安德鲁

4

2 回答 2

0

上个月在我的基于树莓派的气象站添加摄像头模块后,我遇到了同样的问题。

我测试了这个 imagemagick 命令:

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

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

我发现您可以从这 3 个数字中评估倾倒百分比,而灰色图像(阴天)大约是 33% 33% 33%。我没有这样做,但是使用 awk 命令或一些 perl,您也许可以做到这一点。

但是在这里(在刚果),蓝天离灰色的天空并不遥远。因此,这不是计算云量因子的完美方法。相反,计算方差以查看是否有云或颜色均匀的天空将是一个不错的主意。或者也许计算两者并查看附加内容。如果你每小时做几次,你可以追踪一些进化吗?

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

-colorspace HSB

或者

-colorspace HSL

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

在imagemagick 论坛上对此进行了一些讨论

我将保持与此线程的联系,因为我也对解决这个多云问题很感兴趣!

祝你好运,

格雷格。

于 2013-10-10T10:41:22.633 回答
0

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

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

于 2013-10-06T12:32:47.037 回答