Hola:
Te cuento como se hace:
La imagen podría ser un control de un formulario aparte y que al seleccionar un archivo se envíe hacia un iframe oculto para que procese el formulario... o sea el fichero seleccionado (Para adjuntar ficheros el form debe tener el método post y el enctype="multipart/form-data"... lo de enviarlo a un iframe se consigue haciendo coincidir el target del form al name del iframe...
Luego viene la parte del servidor donde en principio debe chequearse el mime-type del fichero subido para comprobra si es una imagen, entonces reservarla (guardándola en una carpeta o en alguna tabla de la base de datos (que supongo usarás)...
Si todo va bien debe comunicarse a la página principal generando una respuesta javascript, que podría ser la id del fichero subido o una url de la imagen (eso debes pensártelo)... y modificar el src de la imagen...
Una referencia:
Revisar las imágenes antes de subirlas.
Saludos