No, no necesita saber el ancho. El ancho lo define el margin auto.
La cosa es que un IMG es de entrada un inline-block lo que tendrías que hacer es cambiar ese IMG a block.
O la otra, por el contrario es decirle a este div que centre la imagen, que por ahora es inline-block