writing a image to a folder via imwrite in Matlab

2020-07-21 05:38发布

问题:

I try to write a image to a folder but imwrite has no input for specifying a folder name. Is there any other func. or way to store image to a folder. Maybe I amiss on imwrite if I do, I am sorry about it.

When I use a file name parameter like "folder1/folder2/img.jpg" it does not create folders accordingly and it just create a file named as "folder1/folder2/img.jpg"

I also try to use mkdir ahead in time but it also gives "Permission Denied" on console.

By the way I am using Linux. May be about permission problem?

回答1:

The filename parameter doesn't mean just the name - you can give it a path, either absolute or relative, as part of the string.

imwrite(img,'my/folder/images/file','jpg')

for example.



回答2:

The folder would just be specified in the file name, like this

imwrite(img, 'folder1/filename.tif','tif');

or if you want to use an absolute path.

imwrite(img, 'C:/Users/UserName/folder1/filename.tif','tif');

Check out wikipedia on absolute and relative paths.



回答3:

If you want to write the image into destination folder use the following code in MATLAB.

destinationFolder = 'C:\Users\Deepa\Desktop\imagefolder';
if ~exist(destinationFolder, 'dir')
  mkdir(destinationFolder);
end
baseFileName = sprintf('%d.png', i); % e.g. "1.png"
fullFileName = fullfile(destinationFolder, baseFileName); 
imwrite(img, fullFileName); % img respresents input image.

 I hope this answer might help someone.


回答4:

this will open new figure to choose the path and format.

[filename, ext, user_canceled] = imputfile