ループ文での画像ファイルの移動

1 visualizzazione (ultimi 30 giorni)
KENji
KENji il 20 Set 2017
Commentato: Walter Roberson il 20 Set 2017
imageDatastoreを使って画像を読み込んで、一つ一つの画像の大きさを調べて、 20pixel以下の時には、その画像ファイルを移動させるものを作りたいのです。 しかし、ループ文中でのmovefileの『’k.jpg’』部分が間違っていることは分かったのですが、 画像ファイルを指定する方法がわかりません。 どのようにするのが、ベストか教えてください。 よろしくお願いします。
numfiles = length(dir('*.jpg'));
ImTrain = imageDatastore('./','IncludeSubfolders',false,'FileExtensions','.jpg','LabelSource','foldernames') ;
Tx=readall(ImTrain);
for k = 1:numfiles
[w,h,z]=size(Tx{k});
if (w<20)&& (h<20)
movefile('k.jpg','\Documents\MATLAB\Zostera\');
end
end
  1 Commento
Walter Roberson
Walter Roberson il 20 Set 2017
Approximate translation:
I'd like to read images using imageDatastore, examine the size of each image, and when creating images below 20 pixels, I would like to create an image that moves the image file. However, I understood that the '' k.jpg '' part of movefile in the loop statement is wrong, but I do not know how to specify the image file. Please tell me how to do the best. Thank you.

Accedi per commentare.

Risposte (1)

michio
michio il 20 Set 2017
例えば
ImTrain.Files{1}
とすると1枚目の画像へのパスが表示されるので確認できますが、imageDatastore のプロパティの1つ Files にファイルへの絶対パス情報がありますので、これを使うのも手かと思います。
movefile(ImTrain.Files{k},'\Documents\MATLAB\Zostera\');
への変更でうまくいくでしょうか?
  1 Commento
KENji
KENji il 20 Set 2017
条件式を変え、教えて頂いたコードを試すと上手くいきました!! ありがとうございます。

Accedi per commentare.

Community Treasure Hunt

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

Start Hunting!