通过Matlab中的imwrite将图像写入文件夹

通过Matlab中的imwrite将图像写入文件夹

问题描述:

我尝试将图像写入文件夹,但imwrite没有指定文件夹名称的输入。有没有其他的功能。或将图像存储到文件夹的方式。如果我这样做,我可能会伪装,我很抱歉。通过Matlab中的imwrite将图像写入文件夹

当我使用一个文件名参数,如“文件夹1 /文件夹2/img.jpg”它并没有相应地创建文件夹,它只是创建一个命名为“文件夹1 /文件夹2/img.jpg”

我也文件尝试提前使用mkdir,但它也会在控制台上提供“Permission Denied”权限。

顺便说一下,我使用Linux。可能是关于权限问题?

+0

使用'pwd'来找出你在哪个目录。你有写权限吗? – Jonas 2012-08-15 16:34:51

filename参数并不意味着只是名称 - 您可以给它一个绝对或相对路径作为字符串的一部分。

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

例如。

+0

当我这样做时,它会创建一个名为“my/folder/images/file.jpg”的文件,它不会创建文件夹accoradingly – 2012-08-15 16:26:59

+0

提前创建文件夹(如果它尚不存在) - 您可以使用[mkdir](http://www.mathworks.com/help/techdoc/ref/mkdir.html) – tmpearce 2012-08-15 16:30:03

+0

我刚刚使用mkdir,但它在控制台上给出了“权限被拒绝”。 – 2012-08-15 16:32:08

该文件夹只会在文件名中指定,这样

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

,或者如果你想使用绝对路径。

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

查看关于absolute and relative paths的*。

这将打开新图选择路径和格式。

[文件名,分机,user_canceled] = imputfile

enter image description here

如果你想要写的图像转换成目标文件夹中使用下面的代码在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.