Hola,
Puedes utilizar el componente "TOpenPictureDialog" y verás que no resulta demasiado complicado, en principio:
Código Delphi
[-]
procedure TfrmPrincipal.btnImagenClick(Sender: TObject);
begin
if dlgImagen.Execute then
img.Picture.LoadFromFile(dlgImagen.FileName);
end;
Nota: Si no cuentas con el componente mencionado, puedes usar el componente "TOpenDialog"... al fin y al cabo el primer componente añade ciertas características, como una vista previa de la imagen a abrir, pero, por lo demás, "TOpenDialog" puede servirte igualmente.