scipy.ndimage.imread
はscipyで廃止されました。そのためpyplotを使用するようにコードを直接切り替えましたが、結果は同じではありませんでした。私はkerasで構築された学習アルゴリズムの画像をインポートしています - それは1to1の変更だと思っていましたが、そうではありません。その違いが何であるかを説明できるpythonの教祖がそこにいますか?scipy.ndimage.imreadとmatplotlib.pyplot.imreadの違いは何ですか?
scipyのダウンロードを返す:
img_array:ndarray 異なるカラーバンド/チャネルがグレー画像はM×Nの、RGB画像MxNx3と RGBA画像であるように、三次元で格納されていますMxNx4。 scipy documentation
matplotlibのは返します
戻り値がnumpy.arrayです。グレースケールイメージの場合、戻り配列 はMxNです。 RGB画像の場合、戻り値はMxNx3です。 RGBA画像の場合、 の戻り値はMxNx4です。 matplotlib documentation
MWE:
from scipy import ndimage
import_image = (ndimage.imread("img.png").astype(float) -
255.0/2)/255.0
print import_image[0]
import matplotlib.pyplot as plt
import_image = (plt.imread("img.png").astype(float) -
255.0/2)/255.0
print import_image[0]
私は1つの主な違いは画像に関係すると思います。 'plt.imread'はPNGを読むための独自の関数を持ち、' scipy.ndimage.imread'はPILを使います。他のすべてのファイル形式では、両方の関数がPILを使用する必要があります。違いはありません。あなたの実際の問題に関しては、もちろん、人々が行動を再現できるように、テストケースを私たちに提供することができます。 – ImportanceOfBeingErnest
@ImportanceOfBeingErnest MWEでアップデートを参照してください - グレースケール画像を使用しています。 – ashley
あなたが遭遇したエラー/問題はどこですか?私はあなたの例から何を取るべきですか?代わりに推奨されるlibを使用することもできます。しかし、それはおそらくデコードや配列型の決定についてはあまりないだろう。 – sascha