I like to take photographs of the earth while traveling in airplanes. Usually the passenger windows have a bit of a haze to them. I use The GIMP to get rid of the haze. Tools->Color Tools->Levels.

gimp_adjust_color_levels.jpg

I normally only have to use the Auto button. Sometimes I have to change an individual channel. Sometimes I can set the Black Level or White Level by selecting objects in the photograph. Sometimes I just move the little triangles under the histogram. The left triangle should be just at the start of the left side of the histogram. The right triangle should just be at the end of the right side of the histogram. The middle triangle adjusts the gamma value.
IMG_3090.JPG Before Adjusting Levels

Image above before adjusting levels. Image below after auto adjusting levels.

IMG_3090.JPG After Adjusting Levels