Можно сделать так
Вот пример
cssdeck.com/labs/full/ga7c2avq<div class="image">
<img src="http://image.shutterstock.com/display_pic_with_logo/903799/224493577/stock-vector-set-of-people-icons-in-flat-style-with-faces-vector-women-men-character-224493577.jpg">
<div class="caption">
<div class="lupa "></div>
</div>
.image {
position: absolute;
}
.image .caption {
box-sizing: border-box;
width: 100%;
height: 100%;
position: absolute;
z-index: 2;
left: 0;
bottom: 0;
background: rgba(0, 0, 0, 0.5);
transition: all 0.7s;
opacity: 0;
}
.image .caption:hover {
opacity: 1;
visibility: visible;
}
.lupa {
width: 100%;
height: 100%;
position: absolute;
z-index: 2;
left: 0;
top: 0;
background: url(http://rabochii.ucoz.net/magnifying47.png);
background-repeat: no-repeat;
background-position: center center;
}