Sí se puede hacer. El siguiente código elige un número al azar entre 1 y 3:
Random r = new Random();
int min = 1;
int max = 3;
int Result = r.nextInt(max-min) + min;
De este modo, si tienes el siguiente array: [A, B, C], donde cada letra es una imagen, elegirá una de éstas.
Para que alguna posición de un array tenga más probabilidades lo que puedes hacer es de una manera sencilla repetir la imagen en el mismo array para aumentar las posibilidades de que toque. Por ejemplo si queremos aumentar que B salga más veces haríamos: [A, B, B, C] y actualizariamos el max a 4 pues ahora son 4 posiciones.
Ya si quieres apurar más con las probabilidades, haría una matriz bidimensional que cada posición corresponda con una imagen, y que los valores sean el mínimo y el máximo para que toque. Por ejemplo, para que B del primer array tenga el doble de probabilidades haría: [ [1,2] [2,4] [4, 5] ]. Luego un número aleatorio entre 1 y 5, para el que toque buscar en que posición está. Se podría hacer lo mismo con una lista de objetos con el máximo y el mínimo, y con la imagen referenciada