matlab批量操作

i = 1;

imageName = strcat(num2str(i),'.pgm');

d1 = imread(imageName);

 

批量给变量命名(使用eval语句)

for x = 1:5

     eval(['A', num2str(x), '=', num2str(x^2), ';']);

end

注意: 每个独立的表达式之后要跟着一个"," 数字变字符串的命令不用加单引号

 

 

for i = 1:3:288

%i = 1;

    fileName7 = strcat(num2str(i),'.pgm');

    fileName9 = strcat(num2str(i+1),'.pgm');

    fileName10 = strcat(num2str(i+2),'.pgm');

 

    d1 = double(imread(fileName10)) - double(imread(fileName9));

    d2 = double(imread(fileName9)) - double(imread(fileName7));

 

    d1i=uint16(d1*6+32768);

    d2i=uint16(d2*6+32768);

    a = imread(fileName7);

    [height,width] = size(a);

    j = (i+2)/3;

 

    eval(['A',num2str(j),'=reshape([d1i d2i a],height,width,3);']);

 

    %clear im d1i d2i a;

end

 

 

批量裁剪图片

 

for i = 1:288

    imageName = strcat(num2str(i),'.pgm');

    A = imread(imageName);

    A1 = A(650:2:1900,1400:2:3300);

    paths = ['F:/Study/dustcloudData2/'];

    imwrite(A1,[paths,num2str(i),'.pgm']);

    clear A A1;

end

 

 

2010-11-17  20:15:37

你可能感兴趣的:(matlab,IM,2010)