m0_58447185 2023-05-19 20:28 采纳率: 41.7%
浏览 18
已结题

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

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

  • 写回答

1条回答 默认 最新

  • CSDN-Ada助手 CSDN-AI 官方账号 2023-05-20 08:08
    关注

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

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

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

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

问题事件

  • 系统已结题 5月28日
  • 已采纳回答 5月20日
  • 创建了问题 5月19日