imread 函数在 matlab 中不起作用

imread function doesn't work in matlab

我是图像处理新手,学习matlab。实际上直到现在我都使用 matlab 云版本,可以直接上传图像并且没有遇到任何问题。但是现在我遇到了一个在matlab离线版软件中上传图片的极端问题。

  1. 我使用 "import data"

  2. 导入了一张图片
  3. 然后我写了这个命令

h = imread( 'digi1.jpg');

  1. 但我的第一行没有 运行 说 digi1 不存在。

您遇到的问题来自将数据保存到 MATLAB 数据文件、使用 .jpg 扩展名重命名文件并尝试使用 imread 读入数据。

不幸的是,这不起作用。您无法将数据的文件类型从 .mat 更改为 .jpg。您所做的只是更改文件的名称。您没有更改文件 的内容。更改文件的文件扩展名和名称并不意味着内容会发生变化。将其重命名为 digi1.jpg 仍然会使该文件成为 MATLAB MAT 文件,您只能使用可以读取这些文件的软件(Python、R,当然还有 MATLAB)读取该文件。

因此,请尝试在命令提示符下使用 load name.mat(这是您的 MAT 文件的名称)。这应该为您提供已经加载到工作区中的图像。无论调用该变量是什么,使用 imwrite 将图像保存到文件。

假设图像存储在一个名为 A 的变量中,执行如下操作:

>> load name.mat
>> imwrite(A, 'digi1.jpg');

确保 name.mat 位于您尝试 运行 上述代码的当前工作目录中。您现在应该将图像保存在磁盘上。但是,如果您想保持图像质量,我建议您使用无损格式而不是 JPG。尝试改用 PNG,将图像保存为 .png 而不是 .jpg.