ImageDatas​toreでサイズを変​更しつつ、ラベルづけ​をする方法を教えてく​ださい

4 Ansichten (letzte 30 Tage)
Inada Ren
Inada Ren am 30 Jul. 2020
Bearbeitet: Kenta am 31 Jul. 2020
Aというフォルダの中にa,bというサブフォルダがあり、様々なサイズの画像が入っています。これらの画像のサイズを100x100に変換しながら、ImageDatastoreで読み込んで、フォルダ名でラベルづけをする方法を教えてください。
imds = imageDatastore('./A','IncludeSubfolders',true,'LabelSource','foldernames');
サイズの変更がない場合はこれでラベル付けしながら読み込めるのですが、ここからサイズを変更する方法がわかりません。augmentedImageDatastoreでやろうとしましたが、
imageSize = [100 100 1];
imds = augmentedImageDatastore('./A', imageSize, 'IncludeSubfolders',true,'LabelSource','foldernames');
上のコードではうまく動きませんでした。

Antworten (1)

Kenta
Kenta am 31 Jul. 2020
こちら、ネットで探すと以下のようなわかりやすい記事がありました。
こちらにもあるのですが、
imds = imageDatastore('./A','IncludeSubfolders',true,'LabelSource','foldernames');
でimdsを作成したのち、
auimds = augmentedImageDatastore([100 100 1],imds)
などで、サイズを変更できます。データ拡張(オーギュメンテーション)も、このコマンドに入れ込むことができます。
  2 Kommentare
Inada Ren
Inada Ren am 31 Jul. 2020
回答ありがとうございます。早速上記で試してみたところ、サイズ変更はできているのですが、
tbl = countEachLabel(auimds)
上記でラベルを確認してみると「関数 'countEachLabel' の呼び出し内に、不足している引数または正しくない引数データ型がないかを確認してください。」とエラーになってしまいます。
Kenta
Kenta am 31 Jul. 2020
Bearbeitet: Kenta am 31 Jul. 2020
countEachLabel 関数はaugmentデータストアには適用できないので、augimds=>imdsとすればよいです。ラベルの情報もaugimdsに入っているのでうまく計算は進むと思います。trainNetwork関数に、augimdsや層、オプションを入れたら実行できると思います。

Melden Sie sich an, um zu kommentieren.

Kategorien

Mehr zu Statistics and Machine Learning Toolbox finden Sie in Help Center und File Exchange

Produkte


Version

R2020a

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!