Já faz um tempo desde que isso foi publicado, mas isso me ajudou.
Você pode usar layouts aninhados. Comece com um RelativeLayout e coloque seu ImageView nele.
Defina altura e largura como match_parent para preencher a tela.
Defina scaleType = "centreCrop" para que a imagem caiba na tela e não seja esticada.
Em seguida, você pode colocar outros layouts como faria normalmente, como o LinearLayout abaixo.
Você pode usar android: alpha para definir a transparência da imagem.
<RelativeLayout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent">
<ImageView
android:layout_width="match_parent"
android:layout_height="match_parent"
android:scaleType="centerCrop"
android:src="@drawable/image"
android:alpha="0.6"/>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
tools:context=".MainActivity">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Hello"/>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="There"/>
</LinearLayout>
</RelativeLayout>
android:scaleType="centerCrop"