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

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

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

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

Q&A

解決済

1回答

370閲覧

for文を使った動作の繰り返しのやり方

Sukenosuke0221

総合スコア10

Python

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

0グッド

0クリップ

投稿2020/10/01 16:33

編集2020/10/01 16:56
hists1 = [] for path in Path("./sample/T1-FE").glob("*.jpg"): # グレースケールとして読み込む。 img = io.imread(path, as_gray=True) # LBP 特徴量を計算する。 lbp = feature.local_binary_pattern(img,8,1,method='uniform') # ヒストグラムを計算する。 hist1 ,bin_centers1 = exposure.histogram(lbp, nbins=256, normalize=True) #histsに各ヒストグラム配列を保存 hists1.append(hist1) hists2 = [] for path in Path("./sample/T2-FE").glob("*.jpg"): # グレースケールとして読み込む。 img = io.imread(path, as_gray=True) # LBP 特徴量を計算する。 lbp = feature.local_binary_pattern(img,8,1,method='uniform') # ヒストグラムを計算する。 hist2 ,bin_centers1 = exposure.histogram(lbp, nbins=256, normalize=True) #histsに各ヒストグラム配列を保存 hists2.append(hist2)

この動作をfor文を使って8回繰り返したいと考えています。
一つずつ入力は大変なので一気にやりたいのですが、for pathのところをいじる必要があると思うのですがやり方を教えていただきたいです。
考えている形を以下に示します。for path
の部分の行がわかりません。他の場所もおかしいところがあったら教えていただけたら幸いです。

for i in range(1,9): hists_i = [] for path in Path("./sample/T")+str(i)+("-FE")+.glob("*.jpg"): # グレースケールとして読み込む。 img_i = io.imread(path, as_gray=True) # LBP 特徴量を計算する。 lbp_i = feature.local_binary_pattern(img_i,8,1,method='uniform') # ヒストグラムを計算する。 hist_FE_Ti ,bin_centers_i = exposure.histogram(lbp_i, nbins=256, normalize=True) #histsに各ヒストグラム配列を保存 hists_FE_Ti.append(hist_FE_Ti)

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

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

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

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

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

guest

回答1

0

ベストアンサー

for path in Path("./sample/T"+str(i)+"-FE").glob("*.jpg"):

ではどうでしょう

投稿2020/10/01 16:56

編集2020/10/01 16:56
y_waiwai

総合スコア87747

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

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

Sukenosuke0221

2020/10/01 17:34

回答ありがとうございます。 for pathのところは解決ができました。 一つ質問があるのですが、 #繰り返し for i in range(1,9): hists_FE_Ti = [] for path in Path("./preprocess_images/case3/train/T"+str(i)+"-FE").glob("*.jpg"): # グレースケールとして読み込む。 img_i = io.imread(path, as_gray=True) # LBP 特徴量を計算する。 lbp_i = feature.local_binary_pattern(img_i,8,1,method='uniform') # ヒストグラムを計算する。 hist_FE_Ti ,bin_centers_i = exposure.histogram(lbp_i, nbins=256, normalize=True) #histsに各ヒストグラム配列を保存 hists_FE_Ti.append(hist_FE_Ti) このようにしたところ、iが番最後のhists_FE_T8の配列が保存されていて、hists_FE_T1,hists_FE_T2,・・・らの配列が上書きされていて保存されないのですが対処法はありますでしょうか
y_waiwai

2020/10/01 23:14

そりゃhists_FE_Ti って変数に次々上書きしてるだけなんでそういう動作になりますわな。 配列にして、 hists_FE_T[i-1] = なんたら にしましょう
Sukenosuke0221

2020/10/02 04:02

iを使っているので毎回変数が変わり保存されるものだと思っておりました。 hists_FE_T[i-1]=hists_FE_Ti.append(hist_FE_Ti) と打つとunderfind nameとなるのですが配列の定義はどのようにすればいいでしょうか。 何度も質問申し訳ありません、
y_waiwai

2020/10/02 04:11

配列とかリストの使い方を調べましょう 「python 配列」でぐぐって出てきたものを一通り読んで見ればいいかと
Sukenosuke0221

2020/10/02 04:15

調べてみます。ありがとうございました。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問