【问题标题】:writing a image to a folder via imwrite in Matlab在 Matlab 中通过 imwrite 将图像写入文件夹
【发布时间】:2012-08-15 16:19:48
【问题描述】:

我尝试将图像写入文件夹,但 imwrite 没有用于指定文件夹名称的输入。有没有其他功能。或将图像存储到文件夹的方式。也许我错了,如果我这样做了,我很抱歉。

当我使用像“folder1/folder2/img.jpg”这样的文件名参数时,它不会相应地创建文件夹,而只是创建一个名为“folder1/folder2/img.jpg”的文件

我也尝试提前使用 mkdir,但它也会在控制台上显示“Permission Denied”。

顺便说一句,我使用的是 Linux。可能是权限问题?

【问题讨论】:

  • 使用pwd 找出您所在的目录。你那里有写权限吗?

标签: image matlab file-io


【解决方案1】:

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

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

例如。

【讨论】:

  • 当我这样做时,它会创建一个名为“my/folder/images/file.jpg”的文件,它不会相应地创建文件夹
  • 提前创建文件夹(如果它不存在) - 你可以使用mkdir
  • 我刚刚使用了 mkdir,但它在控制台上显示“权限被拒绝”。
  • 在目标文件夹中获得一些写入权限,然后试一试。
【解决方案2】:

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

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

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

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

absolute and relative paths 上查看维基百科。

【讨论】:

    【解决方案3】:

    如果要将图像写入目标文件夹,请在 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】:

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

      [文件名,分机,用户取消] = 输入文件

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2016-08-28
        • 2011-01-29
        • 1970-01-01
        • 1970-01-01
        • 2022-08-16
        • 2018-03-02
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多