質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
Python

Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。

Q&A

3回答

1427閲覧

ネームエラーが解決できません

min27xxx

総合スコア4

Python

Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。

0グッド

0クリップ

投稿2020/01/23 16:04

前提・実現したいこと

Python初心者です。
以下のプログラムを動かしたいのですが、ネームエラーが生じています。
scipyのバージョンを1.4.1に更新したら、エラーが生じてしまいました。

問題解決のために知恵をお貸して頂きたいです。
宜しくお願い致します。

発生している問題・エラーメッセージ

File "lif.py",line 4 in <module> C =misc.read("24.2(1).bmp") NameError: name 'misc' is not defined

該当のソースコード

import pylab as pl import matplotlib.pyplot as plt C = misc.imread("24.2(1).bmp") maxx = C.shape[0] #Import the size of the image maxy = C.shape[1] IWS = 4 #Interrogation window size NIWx = (maxx/IWS) #The number of interrogation window in the x axis NIWy = (maxy/IWS) #The number of interrogation window in the y axis a3= random.random((NIWx,NIWy)) imax = 1; F = 24.2 # Application to experiment image old1653 = misc.imread("20,50(1).bmp") oldback = misc.imread("24.2(1).bmp") backCs = array(a3, object) newback = a3.copy() for x in range(NIWx): for y in range(NIWy): backCs[x,y] = oldback[x*IWS:(x+1)*IWS,y*IWS:(y+1)*IWS] newback[x,y] = sum(backCs[x,y])/(IWS**2) exCs = array(a3,object) exCI = a3.copy() for x in range(NIWx): for y in range(NIWy): exCs[x,y] = old1653[x*IWS:(x+1)*IWS,y*IWS:(y+1)*IWS] exCI[x,y] = sum(exCs[x,y])/(IWS**2) #Interrogation window averaged data new1653 = (exCI/newback)*imax Tem1653 = a3.copy() for x in range(NIWx): for y in range(NIWy): Tem1653[x,y] = (-179.84*new1653[x,y]+201.84) # Displaying the temperature fields savetxt("Temp1.csv", Tem1653, delimiter=",") fig=plt.figure() fig.clf() plt.imshow(Tem1653, vmin=-80, vmax=30) plt.colorbar() plt.savefig("intensity.jpg")

試したこと

以前までのscipyのバージョンは確認できませんでしたが、
上記のプログラムでは動作確認済みです。
バージョンの更新後エラーが生じてしまいました。

補足情報(FW/ツールのバージョンなど)

scipy 1.4.1

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答3

0

以前に動作していた、ということはあり得ません。このコードはscipyのバージョンなどに関わりなくエラーになるはずです。

python

1from scipy import misc

のようなimport文がなければmiscはどうあがいても未定義になります。また、この他にも必要なimportが多数抜けているようです。

例外として、Jupyterなどの対話環境では以前に実行した際に作られた変数が残ることがあります。その場合は、使っている名前を解決できれば実行可能になります。

投稿2020/01/23 16:11

hayataka2049

総合スコア30933

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

0

以下のサイトなど参考になるのでは。
scipy1.3以降にあげると、それ以前には問題がなかったのがエラーになることは
よくあります。
「ImportError: cannot import name 'imread' from 'scipy.misc' 」への対処
特別、お急ぎでない場合は、バージョンを下げる対処よりは、新しいバージョンでエラーを回避することをお勧めします。

投稿2020/01/24 03:46

編集2020/01/24 03:48
0kcal

総合スコア275

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

0

そもそもscipyをインポートしていませんが...

SciPy 1.3.0 Release Notes
https://docs.scipy.org/doc/scipy/reference/release.1.3.0.html
を読むとimreadは削除されているようです。
とりあえず古いscipyにダウングレードしてみてはいかがでしょう。

Functions from scipy.interpolate (spleval, spline, splmake, and spltopp) and functions from scipy.misc (bytescale, fromimage, imfilter, imread, imresize, imrotate, imsave, imshow, toimage) have been removed.

投稿2020/01/23 16:24

technocore

総合スコア7225

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問