現在,パイソンで画像に関するプログラミングを行っています.
プログラミングはほぼ初心者です.
開発環境は,windows10,VScode,Python,です
行いたい事は,
「読み込んだインデックスカラー画像のカラーパレットの順番を任意の順番に変更し,カラーパレットの数を任意の数に変更する,変更したパレットを適用する.」です.
例:
カラーパレットの2番目と15番目の順番を入れ替える
↓
カラーパレットの数を256から3に変更する
↓
変更したカラーパレットを適用す
現在,読み込んだインデックスカラーのカラーパレットの確認は出来ています.
以下にコードを記載します.
順番の入れ替えやパレットの数の変更は全く分からない状況です.
python
1 img = Image.open(r"C:\Users\index.png") 2 #インデックスカラーに変換 3 img = img.convert("P") 4 5 # カラーパレットにアクセスする。 6 palette = img.getpalette() 7 # リストの値は index=0 から順番に [R, G, B, R, G, B, ...] 8 palette = np.array(palette).reshape(-1, 3) 9 #print(palette) # (256, 3) 10 11 # 256個のうち、0~50 だけ表示 12 fig, ax_list = plt.subplots(50, 1, figsize=(10, 100)) 13 for i, color in enumerate(palette[:50]): 14 color_img = np.full((1, 4, 3), color, dtype=np.uint8) 15 ax_list[i].set_axis_off() 16 ax_list[i].text(-1, 0, i, va='center', ha='right', fontsize=10) 17 ax_list[i].imshow(color_img, aspect='auto') 18 plt.show()
どなたか,分かる方いらっしゃいましたら,ご教授願います.
回答1件
あなたの回答
tips
プレビュー