matlab语句不执行

matlab这是什么情况呢?只执行到if语句上面,怎么改呢

img

img

代码中的32又是什么意思呢?

clear;
clc;
%肺实质的图片
image_path = 'D:\LUNAR\alung\LIDC-IDRI-0001\';
%肺结节的位置信息和良恶性程度
xls_path = 'D:\LUNAR\AAxsl\LIDC-IDRI-0001t.xls';
[txt,xls_text] = xlsread(xls_path);
xls_num = size(xls_text);
xls_num(1);
for m = 1:xls_num(1)
     img_name = xls_text(m,1);
     str = img_name{1};
     img_name = [str,'.jpg'];
     jpg_child_path = [image_path,img_name]
      if exist(jpg_child_path,'file')
          col4x = txt(m,5) - txt(m,4);
          col4y = txt(m,7) - txt(m,6);
          dir = txt(m,1);
          times = txt(m,2);
          size_center = [ ];
          if col4x < 32 && col4y < 32
              ma = 0.5 * (32 - max(col4x,col4y));      
              col4xy = [txt(m,4)-ma,txt(m,6)-ma,32,32];  
              size_center =[ma,ma,max(col4x,col4y)];
              zl_jianqie(jpg_child_path,dir,times,size_center,col4xy);
              continue;
          end
          size_center =[0,0,max(col4x,col4y)];
          col4xy = [txt(m,4),txt(m,6),max(col4x,col4y),max(col4x,col4y)];
          zl_jianqie(jpg_child_path,dir,times,size_center,col4xy);
      end
    
%     break;
end

该怎样让代码运行起来呢?

根据代码和运行界面截图,可以发现if语句不执行的原因是对于某些文件路径,exist函数返回的结果为0,因此不满足if条件。这个问题可以通过增加else语句来进行处理,例如:

if exist(jpg_child_path,'file')
   ...
else
    disp([jpg_child_path, ' does not exist!']);
end

同时代码中数字32是用来进行矩形切割的,用来限制切割矩形的边长必须大于等于32,如果小于32的话会进行适当扩充,保证最终切割成的矩形大小为32x32。