Lo más facilón es imitar el comportamiento de las tablas:
Código CSS:
Ver originaldiv {
display: table;
}
p, img {
display: table-cell;
vertical-align: middle;
}
Esto se llama centrar verticalmente más que alinear. Alinear es poner una cosa al lado de la otra.