所以我在matlab中编写一个代码来读取图像,在完成一个条件后将它们跟在它们后面。基本内核与此类似
destination_folder = 'Cropped Images';
mkdir(destination_folder);
for <initialization, terminating condition>
...
...
while <condition>
....
....
if <condition>
.....
.....
image_name=image_name+1;
img_name = [num2str(image_name) '.tif'];
destination_path = fullfile(destination_folder, image_name);
file_id = fopen(destination_path, 'w+');
disp(img_name);
imwrite(<variable>,destination_path,'TIF');
fclose(file_id);
end
end
end
当我运行时,我收到以下错误
Error using imwrite (line 454)
Unable to open file "Cropped Images/." for writing. You might not have write permission.
Error in Rotacrop (line 65)
imwrite(NAC,destination_path,'TIF');
此外,图像会生成一定数量,但它们的名称是随机的ascii字符
不确定这里的交易是什么
谢谢, Fowaz
答案 0 :(得分:0)
您使用dir
获得了图片列表。请注意,即使文件夹中没有任何文件夹,dir
也将始终返回当前目录'.'
和父目录'..'
。显然fopen
无法打开目录 '.'
。
您需要从dir
结果中删除这些结果。
删除所有文件夹
files = dir(folder);
files = files(~[files.isdir]);
仅移除'.'
和'..'
files = dir(folder);
files = files(~ismember({files.name}, {'.', '..'}));