Satellite images available from public sources (Google Maps, Bing, ArcGis, etc) have a common "flaw" with color balance abruptly changing in places where two different images were stitched (perhaps captured at different times or by different equipment). For example, here you can see one very clearly different segment and a few more subtle: https://goo.gl/maps/zQRqxQaDAARci2bf6.

Are there techniques which could autocorrect such artifacts and make the image look uniform (or at least make transitions harder to notice)? The result doesn't have to be "correct" in a sense of precisely reflecting the real colors of the location, as long as it looks plausible and consistent.

So observations about the problem:

  1. Imagery comes as a set of square PNG tiles tied to lat/lon.
  2. Transitions in coloring usually don't align with tile edges.
  3. Transitions are relatively straight lines, but they and be at any angle.
  4. Usually the difference seems to be in saturation and brightness, but there are examples of a pretty severe color tinting, for example this: https://binged.it/2IVdmfa
  5. Different sources have "cuts" at different places, so maybe comparing between them could help?
  6. There are natural transitions between, for example forest and urban areas, which can also be in fairly straight lines, but they don't need to be corrected.

A general approach should probably be:

  1. Pick a reference area with is colored "well".
  2. Identify segments of the image which are colored "differently".
  3. Adjust colors so that there's no visible border between segments.

However, I have no idea how to tackle each of those. So any pointers to algorithms or existing software would be very much appreciated. My ultimate goal is to build a solution with as little manual input as possible.

Optional background: I use satellite imagery to create a photorealistic scenery for flight simulation, which grants a much better immersion and enjoyment inflight. But abrupt changes in colors are very visible from above and therefore annoying, so I'd like to find a fix for this.


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Browse other questions tagged or ask your own question.