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

1 visualización (últimos 30 días)
KENji
KENji el 20 de Sept. de 2017
Comentada: Walter Roberson el 20 de Sept. de 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 comentario
Walter Roberson
Walter Roberson el 20 de Sept. de 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.

Iniciar sesión para comentar.

Respuestas (1)

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

Iniciar sesión para comentar.

Categorías

Más información sobre ファイルの操作 en Help Center y File Exchange.

Community Treasure Hunt

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

Start Hunting!