If you want an explanation, so you know what happened and why and how to face this problem next time it happened :
"img" is an inline tag, that mean it is aligned to the TEXT basline. An empty margin appear down the "img" tag because it's the space reserved for letters that goes down the baseline, like p, q, etc. When you set the display on the "img" tag (or any inline tag) to block this space is no more reserved.
I hope the explanation is clear and usefull enough