ファイル名に通し番号を含めたい(brockproc関数のループ処理)
显示 更早的评论
以下を参考に画像を9等分しようとしています。
これを画像11枚についてループ処理したいです。ファイル名に連番(i)をふくめて保存するにはどうすればいいでしょうか。
上記では、以下のように別ファイルに関数cropAndSaveBlock.mを作成し、
function cropAndSaveBlock(bs)
save_loc = 'D:\easypcctest\20220408\cuts';
fileName = [save_loc, '\img', 'cut',int2str(bs.location(1)), '_', int2str(bs.location(2)), '.jpg'];
imwrite(bs.data, fileName)
end
それを本コードで呼び出しています。
%im_nameに画像名を格納しています。ファイル名以外はうまくいきます
for i=1:size(im_name,1)
I=imread(im_name{i});
[a, b]=size(I);
blockSize =[a/3 b/3];
blockproc(I, blockSize, @cropAndSaveBlock)
end
①cropAndSaveBlock.mのfileNameをいじってもうまくいきません(iがコードに属する変数ではないため?)
fileName = [save_loc, '\img',int2str(i), 'cut',int2str(bs.location(1)), '_', int2str(bs.location(2)), '.jpg'];
②cropAndSaveBlock.mの中身を本コードに直接書けばファイル名にiを入れられますが、brockproc関数はそのようなことが可能ではないという理解であっていますか(やってみるとbs.locationを解決できませんといわれます)
こうした別の関数を呼び出す操作に慣れていません。よろしくお願いいたします。
采纳的回答
更多回答(0 个)
类别
在 帮助中心 和 File Exchange 中查找有关 近傍処理とブロック処理 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!