1 | initial version |
Your question sounds like blurryness is not really the property you are searching for. Blur means that pixels colors are smearing into their neighbours, so you never have big differences in color values for neighboring pixels. Typical blur detection takes that into account, it always measures differences between pixel neighbors.
Raindrops or smudges are not blur per se (except when they are directly on the camera lens). You might have pretty sharp raindrops, in fact. Probably you should start with a collection of typical examples which should be detected as "blurry" and categorize them. Fog is clearly blur, so a simple blur detection may be one component. Maybe you need to detect artifacts as raindrops in a different step?