フィルターのクリア

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

3 ビュー (過去 30 日間)
KENji
KENji 2017 年 9 月 20 日
コメント済み: Walter Roberson 2017 年 9 月 20 日
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 件のコメント
Walter Roberson
Walter Roberson 2017 年 9 月 20 日
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.

サインインしてコメントする。

回答 (1 件)

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

サインインしてコメントする。

カテゴリ

Help Center および File Exchangeファイルの操作 についてさらに検索

Community Treasure Hunt

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

Start Hunting!