img {
     opacity: 0.3;
     transition: opacity 1s ease-in-out;
     -moz-transition: opacity 1s ease-in-out;
     -webkit-transition: opacity 1s ease-in-out;
}

img:hover {
     opacity: 1.0;
     transition: opacity .55s ease-in-out;
     -moz-transition: opacity .55s ease-in-out;
     -webkit-transition: opacity .55s ease-in-out;
}

You can also use this function with Fade Grayscale Hover Effect on Images (Grayscale to Colored).

Source: http://stackoverflow.com/questions/11375724/fade-in-fade-out-on-image-hover-using-css3