【发布时间】:2019-03-26 11:31:05
【问题描述】:
我正在尝试访问 4k 图像并裁剪一些基于 ROI 的区域(在我的情况下为 4 个 ROI)并将它们存储在某个目录中。到目前为止一切正常,除了文件名的循环处理。
下面附上我的代码。我正在访问N 4k 图像,将它们裁剪并调整为我想要的分辨率。最后,当我尝试保存数据时,图像被覆盖了。
N=2;
for img = 1:N
x = gTruth.LabelData.crack{img,1}
for i=1:4
Cells = x(i,1:4)
baseFileName = theFiles(img).name;
fullFileName = fullfile(myFolder, baseFileName);
fprintf(1, 'Now reading %s\n', fullFileName);
imageArray = imread(fullFileName);
CroP = imcrop(imageArray,Cells);
imshow(CroP);
B = imresize(CroP,[256 256]);
imshow(B);
imwrite(B,strcat('C:\Users\USER\Desktop\Directory\imagefile_00',num2str(i),'.png'));
end
end
我的问题是循环 i 运行后,它保存了 4 个图像,而对于 img,它再次保存了四个值。现在,当代码运行时,它只保存最后 4 张图像,而不是 8 张。我应该得到 i*N 的总图像数量,但我只得到 4 张,其余的都被覆盖了。
如何调整我的程序以保存所有文件?
【问题讨论】:
标签: matlab file-io nested-loops file-handling