Is there a way to take a specific color in a picture and change it to a different color? Without losing all the details?

For example in the picture below i want to make it have more desert colors. Remove the green and replace it with a tan and then go darker as the elevation goes up. Or maybe lighter, not sure on what colors i want yet. Seems like there should be a way but I'm not even sure what terms to use to search for it.

Click image for larger version. 

Name:	Desertt.png 
Views:	130 
Size:	1.25 MB 
ID:	53817

(Picture was made using Geocontrol2)