this is my first question here. Therefore please help me inform me when I miss any good practice in asking questions here.
Given a short video sequence of an water surface, I would like to detect if there are any objects visible. The video sequence is taken from an moving air vehicle.
An example frame looks like this :
- Currently I only process one frame.
- Assumption: most of the image is water
- I found that water can look very different, even in the same frame.
- Approach A: Looking for edges with the sobel-operator. Con: waves create edges, too. Therefor correct thresholds are difficult to find.
- Approach B: For every pixel measure distance to greater local neighbourhood (for example 128x128). Con: Finding correct thresholds for scene
- Note: I used different colourspaces (rgb,yuv,hsv). I found hsv to be usefull for approach B. Hue of water seems to be nearly constant. Value of most objects is quite different from water (even waves). Saturation varies with waves and is not suited for thresholding.
I would like to ask:
- What are approaches that might work finding non-water-regions/pixel?
- Any thought to my approaches? Are there usal improvements that I might have missed?
- Is it probably that combining the results of neighbouring frames improves detection or reduces false-positiv-detections?
Thank you for your inputs.
Edit:
here is another image that I find difficult.
It has no relevant colour information. Therefor I only present the lightness channel.