Save a group of processed imags output from a for loop in a specific folder

1 次查看(过去 30 天)
Hello,
I have an image database, i process them through a for loop, i want to save the output processed images in anther folder, i have the following error when i trying to do that:
Error using imwrite
unable to open file " ********.bmp" for writing. you might not have write permission
the code i have used is:
SNLImagepath='F:\SNL_images\';
FileName = fullfile(savepath, sprintf(ImageName,ext));
imwrite(a, FileName);

采纳的回答

Image Analyst
Image Analyst 2019-11-10
You gave the wrong path. "savepath" is a built in function, and you're trying to call it when you call fullfile()! You should pass in SNLImagepath, not savepath. Plus you're calling sprintf() incorrectly -- you didn't give it a specification string.
Try this:
SNLImagepath='F:\Biometrics\Eman\Eman_test_SNL_Gabor\SNL_images'
FileName = fullfile(SNLImagepath, sprintf('%s%s', ImageName,ext));
imwrite(a, FileName);
  3 个评论
Image Analyst
Image Analyst 2019-11-10
MATLAB does NOT see the % symbol as a comment when it's embedded in a string, like I did here. You might want to learn how to use format specifier strings since it's common to all programming languages. That's the protocol where you use %, some numbers, and a letter that indicates the variable type (f, d, s, etc.).
Amelia
Amelia 2019-11-12
Iam sorry, i didnot notice the single comma befor and after % sign, it appears that is the reason of the error i have.
Thanks again.

请先登录,再进行评论。

更多回答(1 个)

Ajay Kumar
Ajay Kumar 2019-11-9
Have you correctly given the permission to the folder you are writing?
Once try this,
savepath = 'C:\Some_dir\Some_folder';
FileName = fullfile(savepath, sprintf(ImageName,ext));
imwrite(a, FileName);
  3 个评论

请先登录,再进行评论。

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by