imwrite(B,strcat('C:\Users\USER\Desktop\Directory\imagefile_00',num2str(i),'.png'));
- вот где проблема.Вы используете num2str(i)
для изменения номера и i=[1,2,3,4]
.Таким образом, вы не можете создать файл, который находится за пределами чисел от 1 до 4. Кроме того, если вы хотите что-то на основе img
, вы можете использовать, например,
imwrite(B,strcat('C:\Users\USER\Desktop\Directory\imagefile_',num2str(img),num2str(i),'.png'));
, который создаст файл с именем imagefile_11
дляпервое изображение и первая область, imagefile_12
для первого изображения, вторая область, imagefile_324
для 32-го изображения, четвертая область и т. д. Конечно, меняйте в соответствии с вашими потребностями.
Пример в действии:
>> i=3;img=1;
>> strcat('C:\Users\USER\Desktop\Directory\imagefile_',num2str(img),num2str(i),'.png')
ans =
C:\Users\USER\Desktop\Directory\imagefile_13.png
>> i=1;img=2;
>> strcat('C:\Users\USER\Desktop\Directory\imagefile_',num2str(img),num2str(i),'.png')
ans =
C:\Users\USER\Desktop\Directory\imagefile_21.png
Бесплатный совет:
i
и j
являются воображаемымиблок .На мой взгляд, предпочтительнее не использовать их в качестве индексов петель.
Скорее всего, ваш рабочий стол - не лучшее место для хранения вещей.Создайте папку, например, в папке Documents
с подходящим именем, например, C:\Users\USER\Documents\ROIfrom4k\
При объявлении x
и Cells
будет использоваться закрывающая точка с запятой налинии, чтобы предотвратить их вывод на консоль, замедление работы программы и засорение командного окна.Оранжевые шевеления, которые MATLAB ставит там, не для веселья, они представляют собой полезное предупреждение.(Не путать с красными покачиваниями, они представляют серьезную ошибку, из-за которой MATLAB вообще не может работать.)