跳转到主内容
websoft网络软件专家 - 深耕网络技术,打造实用软件!

MATLAB怎么导入图片_imread函数读取图像数据

需用imread函数加载外部图像:一、绝对路径读取;二、相对路径读取;三、uigetfile交互选择;四、dir批量读取;五、exist/imfinfo排查读取失败。

如果您在MATLAB中需要将外部图像文件加载为数值矩阵以便后续处理,则需使用imread函数读取图像数据。以下是实现该操作的多种方法:

一、使用绝对路径直接读取图像

通过指定图像文件在计算机中的完整路径,可确保MATLAB准确找到并加载目标图像,适用于路径固定或脚本部署环境明确的场景。

1、在命令行或脚本中输入:

img = imread('C:\Users\Name\Pictures\sample.jpg');

2、确认图像已成功载入:输入

size(img)查看返回的维度信息(如三维数组表示RGB图像)。

3、使用

imshow(img)显示图像以验证读取结果。

二、使用相对路径配合当前工作目录读取

当图像文件位于MATLAB当前工作目录或其子文件夹中时,可采用相对路径方式调用 imread,提升脚本可移植性。

1、通过

pwd命令确认当前工作目录位置。

2、将图像文件复制到当前目录或子文件夹(例如

./images/)。

3、执行:

img = imread('./images/photo.png');

三、交互式选择图像文件

利用图形界面引导用户手动选取图像文件,适用于调试、演示或用户自定义输入场景,避免硬编码路径错误。

1、运行:

fullFileName = uigetfile({'*.jpg;*.png;*.bmp;*.tif','Image Files'}, 'Select an image');

2、判断是否取消选择:

if isequal(fullFileName, 0), error('User selected Cancel'); end

3、读取图像:

img = imread(fullFileName);

四、批量读取同一目录下多张图像

当需对文件夹内全部图像进行统一处理时,可通过 dir 函数获取文件列表,并循环调用 imread 实现批量加载。

1、获取图像文件列表:

fileList = dir('*.jpg');

2、预分配元胞数组存储图像:

images = cell(length(fileList), 1);

3、逐个读取:

for k = 1:length(fileList), images{k} = imread(fileList(k).name); end

五、处理 imread 读取失败的常见情况

当 imread 返回空矩阵或报错时,通常源于路径错误、文件损坏、不支持格式或权限限制,需针对性排查。

1、检查文件是否存在:

exist('test.jpeg', 'file')应返回 2。

2、确认扩展名与实际格式一致(例如 .jpg 文件不可命名为 .png)。

3、尝试用

imfinfo('filename')获取图像元数据,验证MATLAB是否识别该文件。

相关文章