картинку оберни в 2 блока - одному display:table, ширина 100% высота в пикселях второму display:table-cell, ширина 100%, высота 100% и vertical-align:middle