EDA365电子论坛网

标题: MATLAB运行时跳过了循环体求解决 [打印本页]

作者: qian211111    时间: 2022-11-4 11:06
标题: MATLAB运行时跳过了循环体求解决
写了一小段将十个文件夹中图片进行裁剪又放入该文件夹中的代码,运行时还没有裁剪就显示“完成”,不知道哪里出了错误,代码如下:
1 I" p3 P, Y, Q& |% v  Q( B9 Sclc2 s+ U+ b& F) g9 Q& S( R3 f
clear
& v& N! ?! l6 z! Gclose all;' m  R( `8 N6 \
title={'01','02','03','04','05','06','07','08','09','10'};9 x: n5 i8 ]3 w- h6 B+ \! A8 b
for i = 1:10
( a# U5 [( [+ @* i    file_path = 'D:\BaiduNetdiskDownload\课程竞赛\Train\cell2mat(title(i))';
  G3 s) [6 u; X& R    img_path_list = dir(strcat(file_path, '*.JPG')); % 选后缀为 .jpg 的图片# o7 k7 }9 x# w  g% E4 {) [5 C" c
    img_num = length(img_path_list); %获得图片数量
2 f5 m! I% s2 p" u$ E, {( `. {$ N. X, U    for j = 1:img_num
' @$ Y5 D+ d- c        image_name = img_path_list(j).name;& o) Q9 u& u8 [5 n- d( o2 `
        image = imread(strcat(file_path, image_name));. f% h: U/ ?4 Z, y- R
        crop_image = imcrop(image, [0, 0, 1000, 1000]); % 使用 imcrop() 函数来裁剪图片,第二个参数的格式为 [XMIN YMIN WIDTH HEIGHT]+ Q2 W2 _( _; x1 N8 ~9 V4 |
        cut_image_name = strcat('train',num2str(90+j),'_','*.JPG');5 m& z2 L. G3 V3 h. n9 n
        imwrite(crop_image, strcat(file_path, cut_image_name)); % 保存文件
9 l# R* i# b0 {2 k& k$ P    end$ J+ j6 E& I, q
end9 _1 S2 ^0 a2 {
disp('完成');5 m4 E; D% k9 l) e; ?9 Q$ b$ P

作者: li205212021    时间: 2022-11-4 13:11
file_path的值不对,字符量中i是不视作变量的,你的路径永远是 'D:\BaiduNetdiskDownload\课程竞赛\Train\cell2mat(title(i))'。如果希望路径在循环中也变化的话,这样
6 P5 _* ]. G. Y; i( Kfile_path = ['D:\BaiduNetdiskDownload\课程竞赛\Train\cell2nidemat',char(title(i))];
作者: qian211111    时间: 2022-11-4 13:17
li205212021 发表于 2022-11-4 13:11
. s5 ~- E5 w1 X. ]file_path的值不对,字符量中i是不视作变量的,你的路径永远是 'D:\BaiduNetdiskDownload\课程竞赛\Train\c ...
1 S. v& H4 O7 ~4 g3 k3 |4 C
谢谢,但是又报错了,请问这是怎么回事呢?$ x2 I7 Z3 O2 l
报错如下:/ w! K/ q1 }  M% E1 ]
错误使用 char
) x. E! c$ Y0 O4 o, K无法从 matlab.graphics.primitive.Text 转换为 char。
$ J8 c! [- }: U/ k* L. O/ E2 _% D9 B* T/ I* b6 K/ ^( m, ^: }
出错 cut (第 6 行)
" y8 y9 y% m* O7 ~4 \    file_path = ['D:\BaiduNetdiskDownload\data\Train\cell2nidemat',char(title(i))];
% X% R/ a. O3 P# \. S2 G
作者: li205212021    时间: 2022-11-4 13:24
我复制的时候多打了几个错字' Q$ x- ^8 }9 Q' X4 t$ b5 Y3 X
file_path = ['D:\BaiduNetdiskDownload\课程竞赛\Train\cell2mat',char(title(:,i))];改下就好了




欢迎光临 EDA365电子论坛网 (https://bbs.eda365.com/) Powered by Discuz! X3.2