【解決】AlbumentationでAxes don’t match array

スポンサーリンク
python Python

みなさんこんにちは!

最近画像コンペに取り組んでいます。

その中でAlbumentationによる画像拡張がうまくいかず「Axes don’t match array」というエラーに陥ってしまいました。

その時の原因と解決方法をまとめておきます。

原因

今回扱っていた画像はグレースケール(1-channel)の画像だったのですが、AlbumentationはRGBの画像を前提としているということで、チャンネル数が合わずエラーになっていました。

なので今回はAugumentationの前にOpenCVでグレースケールの画像をRGBに変換して実行したところエラーを回避することができました。

Pythonコード

# 画像変換用
import cv2

# 画像読み込み
img = Image.open(path) 
# 配列に変換
img = np.array(img)
# グレースケールをRGBに変換
img = cv2.cvtColor(img, cv2.COLOR_GRAY2RGB)
# Augumentation
img = self.transform(img) # 関数名適当

参考になればと思います!

それでは。

コメント

タイトルとURLをコピーしました