所以我试着在matlab中为我的ginput做一个循环,我有以下代码:
jpgFiles = dir('*.jpg');
numFiles = length(jpgFiles);
mydata = cell(1,numFiles);
% mydata = zeros(numFiles);
for k = 1:numFiles
mydata{1,k} = imread(jpgFiles(k).name);
end
for k = 1:numFiles
% subplot(4,5,k);
figure;
imshow(mydata{k});
[x, y] = ginput(30)
end
我想将[x,y]变成矩阵30x6(30分和6张图像) 我试过制作一个for循环和xx = x(k)这样的函数,但我让它工作。有人可以帮助我这样做,因为它可以节省我很多时间进行分析。 我是matlab的新手,所以希望你们可以帮助我,因为我似乎无法在matworks.com上找到一个有用的答案
答案 0 :(得分:0)
Mikkel - 而不是30x6点的矩阵,可能将其视为30x2x6三维矩阵。请记住, x 和 y 是30x1列数组,因此将它们“放”在一起会为我们提供30x2矩阵。然后对于你的六张图片,这将是30x2x6。请尝试以下
% initialize your array of coordinates
coords = zeros(30,2,numFiles);
for k=1:numFiles
figure;
imshow(mydata{k});
[x, y] = ginput(30)
coords(:,:,k) = [x y];
end
尝试以上操作,看看会发生什么!