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

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

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

    [LV.1]初来乍到

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

    EDA365欢迎您登录!

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

    x
    写了一小段将十个文件夹中图片进行裁剪又放入该文件夹中的代码,运行时还没有裁剪就显示“完成”,不知道哪里出了错误,代码如下:
    / `" b! x0 J5 Cclc
    ; J: G8 ~& A" r8 i- R; b  `7 Gclear
    / K% j7 r3 L7 c- O7 x+ aclose all;
    & P! U: h" L2 M4 E. Ltitle={'01','02','03','04','05','06','07','08','09','10'};0 m3 |2 R: K/ y& N# `4 I+ G9 z
    for i = 1:10
    4 s8 {, ?) g: H7 l: H. e4 u4 D0 p    file_path = 'D:\BaiduNetdiskDownload\课程竞赛\Train\cell2mat(title(i))';
    - x. q+ m9 A* M' t    img_path_list = dir(strcat(file_path, '*.JPG')); % 选后缀为 .jpg 的图片  \9 o5 U% D& p
        img_num = length(img_path_list); %获得图片数量+ s: v/ ?% `7 c- t* H& l" N
        for j = 1:img_num1 u8 E* X* G, I
            image_name = img_path_list(j).name;
    5 R# L1 Q6 I5 ?5 O, }        image = imread(strcat(file_path, image_name));
    2 {0 e" V5 W% o8 D4 D        crop_image = imcrop(image, [0, 0, 1000, 1000]); % 使用 imcrop() 函数来裁剪图片,第二个参数的格式为 [XMIN YMIN WIDTH HEIGHT]
    ) H: y9 ]( l" e) T$ C) P( |; O        cut_image_name = strcat('train',num2str(90+j),'_','*.JPG');
    ( F0 T" z4 ^4 c, _6 c  D8 b        imwrite(crop_image, strcat(file_path, cut_image_name)); % 保存文件/ ~- F, E. T; S* }/ j. o' i
        end
    ) C2 g$ F) c4 Q8 h% h; ^4 bend
    3 s/ q/ R# l! b, j6 \disp('完成');4 j  Z/ t+ ~+ y* c) t7 Z% Y

    该用户从未签到

    2#
    发表于 2022-11-4 13:11 | 只看该作者
    file_path的值不对,字符量中i是不视作变量的,你的路径永远是 'D:\BaiduNetdiskDownload\课程竞赛\Train\cell2mat(title(i))'。如果希望路径在循环中也变化的话,这样
    " q& e3 p8 _/ ifile_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:117 S8 A' b: M0 G7 a4 k1 ^' B* C" u6 L
    file_path的值不对,字符量中i是不视作变量的,你的路径永远是 'D:\BaiduNetdiskDownload\课程竞赛\Train\c ...
    2 C0 `8 p- t  \  b$ N& b
    谢谢,但是又报错了,请问这是怎么回事呢?) N( s2 L+ D) h  `& X2 m
    报错如下:
    + R, K- Y# g+ B5 l错误使用 char+ \1 s% K2 w- Z0 P$ m
    无法从 matlab.graphics.primitive.Text 转换为 char。/ n) M- m" f0 t. \& B+ H
    " J6 f1 _' B& ^, `* j
    出错 cut (第 6 行)
    . ]6 \& q8 k( F& M/ n9 S. H5 T    file_path = ['D:\BaiduNetdiskDownload\data\Train\cell2nidemat',char(title(i))];
    ! B' R1 r' w) w4 T

    该用户从未签到

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

    本版积分规则

    关闭

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

    EDA365公众号

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

    GMT+8, 2025-6-8 00:16 , Processed in 0.093750 second(s), 27 queries , Gzip On.

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

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

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