Zendar, las soluciones que te dan son las correctas, pero te lo voy a poner un poquito más fácil. Digamos que tienes tu imagen y mide 400px de ancho y 500px de alto, y que el campo se encuentra situado 200px a la izquierda y 100px de margen superior dentro de la imagen. La solución para tu problema sería:
El HTML
Código:
<form action="" method="post" name="">
<div id="imagen">
<fieldset>
<input type="text" id="campo" value="" />
<input type="submit" value="Enviar" />
</fieldset>
</div>
</form>
En CSS:
Código:
#imagen
{
background: transparent url('url-de-la-imagen.jpg') no-repeat top left;
height: 500px;
position: relative; /* Importante */
width: 400px;
}
#campo
{
left: 200px;
position: absolute; /* Importante */
top: 100px;
}
Es muy importante que al div que tenga la imagen como fondo tenga la línea position: relative; y el elemento del formulario tenga position: absolute; Así, podrás decirle en que coordenadas con respecto a la imagen quieres que se ubique.
Espero haberte sido de ayuda,