Так просто, как пирог. Вы просто используете одно и то же изображение дважды, одно над другим.
<div class="container">
<img class="main" src="http://www.pngmart.com/files/2/Mario-PNG-Image.png" />
<img class="glow" src="http://www.pngmart.com/files/2/Mario-PNG-Image.png" />
</div>
Вы просто работаете над изображением ниже, немного масштабируете его, делаете его ярким, пока оно не станет белым, а затем размыте его. Затем вы устанавливаете непрозрачность на 0 и устанавливаете ее обратно на единицу, когда изображение выше наведено.
.container {
position:relative;
background-color:#444444;
width:600px;
height:600px;
}
img {
position:absolute;
max-height:90%;
top:50%;
left:50%;
transform: translate(-50%, -50%);
-webkit-transform: translate(-50%, -50%);
transform-origin: 0 0;
-webkit-transform-origin: 0 0;
}
img.main {
z-index:2;
}
img.glow {
z-index:1;
transform: scale(1.01) translate(-50%, -50%);
-webkit-transform: scale(1.01) translate(-50%, -50%);
filter: brightness(0) invert(1) blur(5px);
-webkit-filter: brightness(0) invert(1) blur(5px);
opacity:0;
}
img.main:hover ~ img.glow {
opacity:1;
}
Никакой Javascript не требуется.
https://jsfiddle.net/nkq1uxfb/3/