np.array の要素 (数字) を np.array に置換する方法が思いつかず,悩んでいます。
例えば以下のような例です。

実行前

img = np.array([
  [0, 1, 2], 
  [2, 1, 1],
])

このimg[h, w]の値に対し,例えば値が

img[h, w] == 0 のとき np.array([255, 0, 0])  
img[h, w] == 1 のとき np.array([125, 125, 0])
img[h, w] == 2 のとき np.array([0, 125, 125])

に置換したいと考えています。つまり,上のimgに対しては

実行後

img = np.array([ 
  [[255, 0, 0], [125, 125, 0], [0, 125, 125]],
  [[0, 125, 125], [125, 125, 0], [125, 125, 0]],
])

に置換したいです。
最初np.whereが使えるかと思いましたが,np.where(conditions, x, y)x, yは数字でなければならず,配列はNGのようです。
効率的な方法をよろしくお願いします。