需要帮助增量即文件保存在一个循环中

13个视图(30天)
让我premept这样说我在每一个业余matlab。我开发的代码会使我作物一系列图像与标准化的作物大小一个文件夹,然后将裁剪图像与一个新的名字保存到一个新文件夹。整个代码工作(尽管可能效率低下,缺乏)除了重命名的方面。
%操作一个文件夹中的所有图片
清晰的所有
关闭所有
clc
dname_open =输入(“请输入图片的目录地址:,“年代”);
dname_save =输入(“请输入的目录地址保存目的地:“,“年代”);
%的代码测试参数(只做第一图像文件夹如果测试= 1)
测试= 0;
%建立基本的读取文件名的路径
top_file = [dname_open“\”];
ls_top_file = ls (top_file);
c = cellstr (ls_top_file);
cc = c(3:长度(c));
S =大小(cc);
= 1;
(1)
%的输入图像坐标
关闭所有
文件= char (cellstr ([top_file char (cc (a)))));
data_n = char (cc (a));
file_name = char (cc (a));
imagename = (file_name)
fileToRead2 = [dname_open“\”imagename];
I = imread (fileToRead2);
[I1c矩形]= imcrop(我)
I2 = imcrop(我、矩形);
imshow (I2,“边界”,“紧”);
集(gcf,“位置”,(0 0 1 1));
h = gcf;
(dname_save saveas (h' \ ' ' IMG_ ' ' 001 '),“jpg”)
%作物循环
< = S (1)
关闭所有
文件= char (cellstr ([top_file char (cc (a)))));
data_n = char (cc (a));
file_name = char (cc (a));
%的操作文件
imagename = (file_name);
新名称= sprintf (“% d IMG_”);
%输入图像
fileToRead2 = [dname_open“\”imagename);
I = imread (fileToRead2);
%裁剪
%向量(xmin ymin、宽度、高度)
I2 = imcrop(我、矩形);
imshow (I2,“边界”,“紧”);
集(gcf,“PaperPositionMode”,“汽车”);
h = gcf;
(dname_save saveas (h“\”“IMG_”),“jpg”);
如果测试= = 1
流(“打破循环设置轴——测试= = 1)
打破
结束
= + 1
结束
错误在于“saveas (h, [dname_save ' \ ' IMG_, a], jpg);“这段代码。它不会使用“增量”保存的名称,但没问题当我使用变量“imagename”
任何帮助将不胜感激。

接受的答案

明星黾
明星黾 2014年10月27日
我不运行代码,所以你必须做这个实验。看看:
(dname_save saveas (h“\”“IMG_”num2str(一个' % d ')),“jpg”);
改善的事情。
3评论
每•艾萨克森
每•艾萨克森 2014年10月28日
另一种选择
saveas (h, fullfile (dname_save sprintf (“IMG_ % 03 d.jpg”)));
格式说明符,安康 % d 03 与前导零,让名字更容易在Windows资源管理器中使用。

登录置评。

更多的答案(0)

类别

找到更多的在数据导入与分析帮助中心文件交换

社区寻宝

找到宝藏在MATLAB中央,发现社区如何帮助你!

开始狩猎!