GDave50 / Cloud-Coverage-Calculator

This project involves analyzing images of clouds using OpenCV.
GNU General Public License v3.0
13 stars 3 forks source link

Could cloudcoverage#get_coverage(image, True) support images with clouds on the same background (brownish colors not blue sky) #8

Open prgrmmraben opened 5 years ago

prgrmmraben commented 5 years ago

Hi, A little context and my approach if it is useful: Briefly I came across the readme file in this repository while seeking a simple routine in Python, that could get cloud coverage from images. The method cloudcoverage#get_coverage just seems to be very suitable to me. Although, my input data, is a sequence of satellite images (video), that are taken on a one geo-location.

I could omit background following this doc https://docs.opencv.org/3.1.0/db/d5c/tutorial_py_bg_subtraction.html Still, result is not so promising, because it is based on a black white masking technique, thus, any moving pixel is being converted to dark (vanishing all possibilities of grayish scale color clouds).

My question: Is there a method to replace blue detection (clouds absence) by background subtraction (which is the same, although it has different colors (because of hills, flat surface...)) and considering moving pixels (clouds) as clouds ?

Satellite images are like: https://ibb.co/8MYkYS4

Thank you 👍 Kind regards.

tenbergen commented 5 years ago

Hello,

thank you for your interest in this project, which was a student-run semester project for an introductory software engineering course, to which I was the instructor. The students achieved some good success with the technique on calculating cloud coverage, approximating known values in our validation set. This technique, however, was based on a camera angled level towards the horizon, not from satellite imagery, which I understand to be the default way of computing cloud coverage: http://www-das.uwyo.edu/~geerts/cwx/notes/chap08/cloud_cover.html

I suspect the method you mentioned to be suitable for your purpose. Rather then subtracting the background (blue sky), perhaps a useful strategy might be to subtract the clouds instead. The coverage is then the inverse of the determined octas.

I should also mention that albeit we collaborated with Meteorologists on this project, neither the students nor me are particularly achieved in that field.

Hope this helps.

--BT