163

scipyで画像を読み込もうとしています。ただし、その部分は受け付けませんscipy.misc.imread。これの原因は何でしょうか?

>>> import scipy
>>> scipy.misc
<module 'scipy.misc' from 'C:\Python27\lib\site-packages\scipy\misc\__init__.pyc'>
>>> scipy.misc.imread('test.tif')
Traceback (most recent call last):
  File "<pyshell#11>", line 1, in <module>
    scipy.misc.imread('test.tif')
AttributeError: 'module' object has no attribute 'imread'
4

18 に答える 18

158

imreadSciPy 1.0.0で非推奨になり、1.2.0で削除されます。imageio.imread代わりに使用してください。

import imageio
im = imageio.imread('astronaut.png')
im.shape  # im is a numpy array
(512, 512, 3)
imageio.imwrite('imageio:astronaut-gray.jpg', im[:, :, 0])
于 2017-12-18T09:43:24.443 に答える
144

Pillow(以前のPIL )をインストールする必要があります。上のドキュメントからscipy.misc

PillowはSciPyの依存関係ではありませんが、以下のリストに示されている画像操作機能は、Pillowなしでは使用できないことに注意してください。

..。

imread

..。

Pillowをインストールした後imread、次のようにアクセスできました。

In [1]: import scipy.misc

In [2]: scipy.misc.imread
Out[2]: <function scipy.misc.pilutil.imread>
于 2013-03-11T18:34:35.940 に答える
61

imreadは、バージョン1.2.0以降で減価償却されます。したがって、この問題を解決するには、バージョン1.1.0をインストールする必要がありました。

pip install scipy==1.1.0
于 2019-05-24T09:05:20.497 に答える
39

Python 3の場合、次の場所で使用するのが最適imreadですmatplotlib.pyplot

from matplotlib.pyplot import imread
于 2018-03-31T10:47:40.243 に答える
21

同じ問題が発生した場合は、scipyをアンインストールしてscipy==1.1.0をインストールしてください。

$ pip uninstall scipy

$ pip install scipy==1.1.0
于 2019-06-26T05:08:20.823 に答える
9

Python Imaging Library(PIL)が必要ですが、残念ながら!PILプロジェクトは放棄されたようです。特に、Python 3には移植されていません。したがって、Python 3でPIL機能が必要な場合は、PILの準公式フォークであり、活発に開発されているように見えるPillowを使用することをお勧めします。実際、最新のPIL実装が必要な場合は、Pillowをお勧めします。と同じくらい簡単pip install pillowです。PILと同じ名前空間を使用するため、基本的にはドロップイン置換です。

このフォークはどのくらい「半公式」ですか?あなたは尋ねるかもしれません。PillowドキュメントのAboutページには次のように書かれています。

最後のPILリリースから時間が経過すると、新しいPILリリースの可能性は低くなります。しかし、公式の「PILは死んだ」という発表はまだ聞いていません。したがって、引き続きPILをサポートする場合は、まずここで問題を報告してから、対応するPillowチケットをここで開いてください。

上流で問題を追跡できるように、最初のチケットへのリンクを提供してください。

ただし、公式PILサイトでの最新のPILリリースの日付は2009年11月15日です。(この記事の執筆時点で)8年近く新しいリリースがない場合、PILlowをPILの後継として安全に宣言できると思います。したがって、Python 3のサポートが必要ない場合でも、PyPIで利用可能な古いPIL 1.1.6ディストリビューションを避けて、最新の互換性のある新しいPillowをインストールすることをお勧めします。

于 2017-04-11T00:53:35.203 に答える
9

答えたように、misc.imreadはSciPy 1.0.0で非推奨になり、1.2.0で削除されます。imageioは1つのオプションであり、次のタイプのオブジェクトを返します。

<class 'imageio.core.util.Image'>

ただし、imageioの代わりにcv2を使用してください

import cv2
im = cv2.imread('astronaut.png')

imはタイプになります: <class 'numpy.ndarray'>

numpy配列は、計算が高速です。

于 2018-05-20T12:36:36.857 に答える
7

次のコマンドを使用して、Pillowライブラリをインストールします。

pip install pillow

選択した回答が古くなっていることに注意してください。SciPyのドキュメントを参照してください

Pillow(https://python-pillow.org/)はSciPyの依存関係ではありませんが、以下のリストに示されている画像操作機能は、Pillowなしでは使用できないことに注意してください。

于 2017-09-24T14:29:56.737 に答える
5

ImreadはPILライブラリを使用します。ライブラリがインストールされている場合は、「fromscipy.ndimageimportimread」を使用します。

ソース: http: //docs.scipy.org/doc/scipy-0.17.0/reference/generated/scipy.ndimage.imread.html

于 2016-03-24T04:05:08.850 に答える
3
python -m pip install pillow

これは私のために働いた。

于 2017-09-17T23:00:40.627 に答える
2

Jupyter Notebookで以下を実行すると、同様のエラーメッセージが表示されました。

from skimage import data
photo_data = misc.imread('C:/Users/ers.jpg')
type(photo_data)

'エラー'メッセージ:

D:\ Program Files(x86)\ Microsoft Visual Studio \ Shared \ Anaconda3_64 \ lib \ site-packages \ ipykernel_launcher.py:3:非推奨警告:imread非推奨です!imreadSciPy 1.0.0で非推奨になり、1.2.0で削除されます。imageio.imread 代わりに使用してください。これはipykernelパッケージとは別のものであるため、

そして、以下を使用して私はそれを解決しました:

import matplotlib.pyplot
photo_data = matplotlib.pyplot.imread('C:/Users/ers.jpg')
type(photo_data)
于 2018-08-31T10:05:36.767 に答える
1

Python Image Library( PIL )が必要ですが、PILだけでは不十分なので、Pillowをインストールすることをお勧めします。これはうまく機能します。

于 2016-08-06T11:35:14.903 に答える
1

jupyter Notebookでの画像抽出に必要なすべてのパッケージがありますが、それでも同じエラーが表示されます。

JupyterNotebookのエラー

上記のコメントを読んで、必要なパッケージをインストールしました。私がいくつかのパッケージを逃したかどうか教えてください。

pip3 freeze | grep -i -E "pillow|scipy|scikit-image"
Pillow==5.4.1
scikit-image==0.14.2

scipy==1.2.1
于 2019-03-25T13:23:41.687 に答える
1

Python3.6で私のために働く解決策は次のとおりです

py -m pip install Pillow

于 2019-05-17T05:09:57.080 に答える
1

OpenCvの場合と同じ.pngように、作業中のファイルを取得できる唯一の方法です。uint8

cv2.imread(file)実際に戻っnumpy.ndarrayてきたdtype=uint8

于 2020-09-04T23:11:54.673 に答える
0

最初にscipyと互換性のあるPythonバージョン(<3.7)をインストールする必要があります。pipを使用してscipyバージョン1.0をインストールできませんでした[このバージョンはpipでサポートされなくなったと思います]代わりにcondaを使用しました:

conda install -c anaconda scipy==1.0

次に、「imread」を使用するには、Pillowをインストールする必要があります。

pip install pillow
于 2021-08-07T20:24:36.033 に答える
0

imreadはscipy.miscで非推奨になりました。代わりにimageio.imreadを使用してください。

imageioはScipyと同じ機能を提供します。ただし、一部の引数を変更する必要があることに注意してください(詳細については、こちらを確認してください)。

  1. の代わりに、キーワード引数modeを使用します。pilmode
  2. の代わりに、キーワード引数flattenを使用します。as_gray
于 2021-10-04T18:49:58.497 に答える
0

1つの方法は、次のようにPILを使用することです。

    from PIL import Image
    input_image = Image.open(filename)
于 2022-01-12T21:18:22.557 に答える