Paint.NET will do it, You just need to do a fill, with 'global' mode instead of contiguous mode.
As per request. I'd note the original was horribly noisy and I cleaned it up a bit. You'd ideally want to clean this up first
![enter image description here](../../I/static/images/ced541d7ef1bab3876af8c0f5596f7acdd3dec76854d3a208177f11374b9a2dd.gif)
There's a few important things here.
Firstly, I was zoomed into the image so I could pick the correct area more easily. There was a ton of anti-aliasing here so I ended up sharpening it (or otherwise cleaning it up), but even then, I went with a fairly high tolerance (The higher the tolerance, the less similar an adjoining pixel needs to be to its neighbours to be recoloured) Play with that value - lower is more 'precise' but you may need a higher value.
Could you please elaborate, step-by-step, for someone who has installed but isn't familiar with Paint.NET? – Kenny LJ – 2015-08-27T01:57:29.097
1Added a quick gif and explanation. Its pretty simple, assuming you're starting with a clean image. The global vs contiguous option also exists for the magic wand tool, which can be useful, especially if you play around with tolerances. – Journeyman Geek – 2015-08-27T12:38:26.920