Image 如何处理一系列图像?

Image 如何处理一系列图像?,image,matlab,image-processing,Image,Matlab,Image Processing,我正在尝试创建一系列图像数据。但是,当我运行下面的代码时,它不会显示任何错误,但是当我查看我创建的图像数据时,只会存储我引用的文件夹中图像序列中的最后一个图像 当我验证此图像数据的可变细节时,它只显示最后一个图像。共有8张图片,仅显示最后一张或第8张图片。我做错了什么 clc; clear all; close all; % Create an image filename, and read it in to a variable called manosData. for k= 1:8

我正在尝试创建一系列图像数据。但是,当我运行下面的代码时,它不会显示任何错误,但是当我查看我创建的图像数据时,只会存储我引用的文件夹中图像序列中的最后一个图像

当我验证此图像数据的可变细节时,它只显示最后一个图像。共有8张图片,仅显示最后一张或第8张图片。我做错了什么

clc; clear all; close all;
% Create an image filename, and read it in to a variable called manosData.

for k= 1:8
    jpgFileName = strcat('image', num2str(k),'.jpg');

    if exist(jpgFileName, 'file')
        manosData = imread(jpgFileName);
    else
        fprintf('File %s does not exist.\n', jpgFileName);
    end    
end

%%%and then save manosData

这是因为循环只保存最后一张图像
manosData
只记得上次读入的图像,因为它一直被覆盖。我不知道您的图像是彩色图像还是灰度图像,也不知道每个图像是否具有相同的分辨率,因此我建议您使用单元阵列来处理此问题,以便在图像中读取:

manosData = {}; %// Cell array
for k= 1:8    
    jpgFileName = strcat('image', num2str(k),'.jpg');

    if exist(jpgFileName, 'file') 
        manosData = [manosData imread(jpgFileName)]; %// Add image to cell array if possible    
    else
        fprintf('File %s does not exist.\n', jpgFileName);
    end    
end

%%%and then save manosData

然后,您可以通过
manosData{k}
访问任何图像,其中
k
是图像索引。例如,如果您想显示第四幅图像,您需要执行
imshow(manosData{4})

您好。这些图像的分辨率不同,它们是彩色图像。我试过你的程序,它工作正常,但当我试图访问manosData,处理所有的图像时,它给了我一个错误。加载j=1:8子批次(3,3,j)的manosData dog1=重塑(图像(:,j),64,64);imshow(dog1)endimage是所有图像的基本名称,例如image1.jpg、image2.jpg等。该代码没有意义<代码>图像
假定为矩阵,但这是字符串。很抱歉,我不知道你想要什么。我想修改manosData中的所有内容,这个程序就是我得到的一个例子。你知道我该如何画出manosData所有的图像并重塑它们吗。谢谢你的帮助。