Из
Worldview можно получить ежедневные снимки поверхности. Нужно достать слой с облаками, без учета поверхности Земли.
Алгоритм такой:
- получить тайлы без облаков
- из определенного тайла с облакамы вычесть тот, который без облаков
- полученный тайл будет содержать пиксели, яркость которых равна разнице на тайлах с облаками и без
Появляются следующие проблемы:
- в некоторых местах есть снежный покров, на фоне которого не удается различить облака
- на снимках есть стыки, в которых облака не совпадают
- отражение солнечных лучей на водной поверхности, которое может приниматься как облака
Пример: 8
![6511fd101305486cb70ee726af3d3291.jpg](https://habrastorage.org/web/651/1fd/101/6511fd101305486cb70ee726af3d3291.jpg)
Взяв снимки за несколько дней в определенном тайле, построил новое изображение, состоящие только из минимальных яркостей из каждого соответствующего пикселя снимков. Таким образом удается получить тайл без облаков, но есть и шумы, вызванные наличием облаков на каждом из снимков (проще говоря, в определенной координате за все дни, по которым взяты снимки, было облачно, даже за 100 дней)
Без облаков, но с шумом: **
![4ade8d961a7b4009b72677fdf6f31300.png](https://habrastorage.org/web/4ad/e8d/961/4ade8d961a7b4009b72677fdf6f31300.png)
Если вычесть из первого* изображения второе**, получим:
![2c50acf9ffda4590adee52f155a9587f.png](https://habrastorage.org/web/2c5/0ac/f9f/2c50acf9ffda4590adee52f155a9587f.png)
Вроде бы неплохо, но на фоне суши видна потеря яркости облаков, поэтому попробовал вычислить разницу немного по
другой формуле, чтобы сохранять высокую яркость на исходном изображении с облаками:
![24d250dead5d49f7baa216552be6bb49.png](https://habrastorage.org/web/24d/250/dea/24d250dead5d49f7baa216552be6bb49.png)
В итоге остается проблема с отражением на поверхности воды, а также снежным покровом, из-за которого облака поглощаются при вычитании