找回密码
 注册
关于网站域名变更的通知
查看: 532|回复: 3
打印 上一主题 下一主题

MATLAB运行时跳过了循环体求解决

[复制链接]
  • TA的每日心情
    开心
    2022-1-21 15:22
  • 签到天数: 1 天

    [LV.1]初来乍到

    跳转到指定楼层
    1#
    发表于 2022-11-4 11:06 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

    EDA365欢迎您登录!

    您需要 登录 才可以下载或查看,没有帐号?注册

    x
    写了一小段将十个文件夹中图片进行裁剪又放入该文件夹中的代码,运行时还没有裁剪就显示“完成”,不知道哪里出了错误,代码如下:
    6 L# J. N, T: n0 R* |+ ^) eclc
    3 a  w/ v. |1 `clear
    . Q0 u/ R* v$ O9 I* u* Z. K5 eclose all;
    * I% v/ a6 o" H; _9 |title={'01','02','03','04','05','06','07','08','09','10'};
    " K; n& a1 o# i! Z3 d  V3 ]1 P) D' lfor i = 1:10
    % ?( T( ~: A' R7 e8 h    file_path = 'D:\BaiduNetdiskDownload\课程竞赛\Train\cell2mat(title(i))';2 H0 s% }+ M" c% w
        img_path_list = dir(strcat(file_path, '*.JPG')); % 选后缀为 .jpg 的图片
    4 l1 {! S6 a9 L    img_num = length(img_path_list); %获得图片数量0 U4 y: Q! @& a& M! ]
        for j = 1:img_num
    4 R+ u. w& B" ^# r  o        image_name = img_path_list(j).name;/ w: ^, }/ q# \- M! p' E) a6 B
            image = imread(strcat(file_path, image_name));
    4 \1 h0 d0 x, [& D8 @. A* Z; y" @        crop_image = imcrop(image, [0, 0, 1000, 1000]); % 使用 imcrop() 函数来裁剪图片,第二个参数的格式为 [XMIN YMIN WIDTH HEIGHT]
    8 r5 i- b% g3 M- i        cut_image_name = strcat('train',num2str(90+j),'_','*.JPG');+ a6 k" J& [* @7 @$ f$ U5 A
            imwrite(crop_image, strcat(file_path, cut_image_name)); % 保存文件& D/ p5 \4 B: s' ^5 m6 a
        end
    0 M+ u- c2 c+ B( R7 \end0 k3 `# R6 S3 G; ], a- b" w% o1 h. t
    disp('完成');  Y+ ?, c+ [% [& |% a+ R: U6 x, [

    该用户从未签到

    2#
    发表于 2022-11-4 13:11 | 只看该作者
    file_path的值不对,字符量中i是不视作变量的,你的路径永远是 'D:\BaiduNetdiskDownload\课程竞赛\Train\cell2mat(title(i))'。如果希望路径在循环中也变化的话,这样
    # ~* c0 U: h( x  A& z  t% efile_path = ['D:\BaiduNetdiskDownload\课程竞赛\Train\cell2nidemat',char(title(i))];

    点评

    谢谢,但是又报错了,请问这是怎么回事呢? 报错如下: 错误使用 char 无法从 matlab.graphics.primitive.Text 转换为 char。 出错 cut (第 6 行) file_path = ['D:\BaiduNetdiskDownload\data\Train\cel  详情 回复 发表于 2022-11-4 13:17
  • TA的每日心情
    开心
    2022-1-21 15:22
  • 签到天数: 1 天

    [LV.1]初来乍到

    3#
     楼主| 发表于 2022-11-4 13:17 | 只看该作者
    li205212021 发表于 2022-11-4 13:11
    ; a$ @5 N' b% _% Lfile_path的值不对,字符量中i是不视作变量的,你的路径永远是 'D:\BaiduNetdiskDownload\课程竞赛\Train\c ...

    ) r! K+ M) r/ R, Q9 ~谢谢,但是又报错了,请问这是怎么回事呢?
    9 z/ k, ^( }( S报错如下:$ V7 Z% H( \( H9 E' _! W# x
    错误使用 char
    / |+ d+ W" ^" g3 K$ K$ z3 T无法从 matlab.graphics.primitive.Text 转换为 char。
      J( }0 v; ?9 r0 V1 u  d) @) @
      K4 ?) K/ g7 n出错 cut (第 6 行)
    ; [* z$ m( e; Y; T    file_path = ['D:\BaiduNetdiskDownload\data\Train\cell2nidemat',char(title(i))];
    9 w# U8 n9 N9 Y7 p  o

    该用户从未签到

    4#
    发表于 2022-11-4 13:24 | 只看该作者
    我复制的时候多打了几个错字2 l8 _: B- L9 ]8 Y2 D7 Z
    file_path = ['D:\BaiduNetdiskDownload\课程竞赛\Train\cell2mat',char(title(:,i))];改下就好了
    您需要登录后才可以回帖 登录 | 注册

    本版积分规则

    关闭

    推荐内容上一条 /1 下一条

    EDA365公众号

    关于我们|手机版|EDA365电子论坛网 ( 粤ICP备18020198号-1 )

    GMT+8, 2025-10-28 00:10 , Processed in 0.140625 second(s), 24 queries , Gzip On.

    深圳市墨知创新科技有限公司

    地址:深圳市南山区科技生态园2栋A座805 电话:19926409050

    快速回复 返回顶部 返回列表