How to name my files differently in a loop
조회 수: 1 (최근 30일)
이전 댓글 표시
I want each "pic" to have a differnet name corresponding to n. i.e: 1.jpg, 2.jpg, etc.
This gives me an error because the n is not in quotations for a filename, but if I do this, then the images keep overwriting each other so that at the end I only have one image that is called "n". How do I avoid this?
for n = 1:68
pic(:,:,n) = Amp((n-1)*64+1:n*64,:);
pic(:,:,n) = wdenoise(pic(:,:,n));
pic(:,:,n) = uint8(pic(:,:,n));
imwrite(pic(:,:,n), colormap(), n,'jpg');
end
댓글 수: 0
채택된 답변
Image Analyst
2022년 6월 7일
편집: Image Analyst
2022년 6월 7일
Try this
for n = 1:68
pic(:,:,n) = Amp((n-1)*64+1:n*64,:);
pic(:,:,n) = wdenoise(pic(:,:,n));
pic(:,:,n) = uint8(pic(:,:,n));
baseFileName = sprintf('%2.2d.png', n);
fullFileName = fullfile(pwd, baseFileName);
fprintf('Writing %d of 68 : "%s."\n', n, fullFileName);
imwrite(pic(:,:,n), fullFileName);
end
댓글 수: 2
Image Analyst
2022년 6월 7일
Just assign some folder where you'd like to save them
folder = 'c:\whatever'
if ~isfolder(folder);
mkdir(folder);
end
for n = 1:68
pic(:,:,n) = Amp((n-1)*64+1:n*64,:);
pic(:,:,n) = wdenoise(pic(:,:,n));
pic(:,:,n) = uint8(pic(:,:,n));
baseFileName = sprintf('%2.2d.png', n);
fullFileName = fullfile(folder, baseFileName);
fprintf('Writing %d of 68 : "%s."\n', n, fullFileName);
imwrite(pic(:,:,n), fullFileName);
end
추가 답변 (0개)
참고 항목
카테고리
Help Center 및 File Exchange에서 Image Processing Toolbox에 대해 자세히 알아보기
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!