Numpy配列からGIFを生成したい
CT画像からGIFを生成したいのですが, エラーが生じてしまいます.
手順
- PydicomでCT画像をNumpy配列に変換
- Numpy配列をImageオブジェクトに変換
- Imageオブジェクト.saveを用いてGIFを生成
2まではうまく行っていることが確認できているのですが, 3でエラーが生じてしまいます.
以下, 2と3についてのコードです.
Python
1dicom_list = [] 2shape=(512, 512, 1) 3for i in range(dicom_images.shape[0]): 4 # Numpy配列をImageオブジェクトに変換してリストに追加 5 dicom_list.append(Image.fromarray(np.uint8(dicom_images[i]))) 6print(len(dicom_list)) #169 7 8print(type(dicom_list[0])) #<class 'PIL.Image.Image'> 9print(dicom_list[0].size) #(512, 512) 10print(dicom_list[0].format) #None 11print(dicom_list[0].mode) #L 12 13 14dicom_list[0].save(os.path.join(file_path, "a.png")) # 成功 15# 下記コードでエラー発生 16dicom_list[0].save(os.path.join(file_path, "dicom.gif"), 17 save_all=True, append_images=dicom_list[1:], 18 optimize=False, 19 duration=40, 20 loop=3)
エラー内容は以下です.
AttributeError: 'NoneType' object has no attribute 'palette'
pngファイルへの変換は可能であることを確認済みです.
NoneタイプはGifに変換できないと言うことなのでしょうか...?
このようなケースでGifへの変換を行っている, もしくはできないので諦めなさいという資料が見つけられなかったので質問させていただきました.
GIF作成に関しては, 以下を参考にしました.
Python, PillowでアニメーションGIFを作成、保存
よろしくお願いします.
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。