用于我分析的 ginput 循环

ginput loop for my analysis

所以我想在 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

上找到可用的答案

Mikkel - 而不是 30x6 点矩阵,也许将其可视化为 30x2x6 three-dimensional 矩阵。请记住,您的 xy 是 30x1 列数组,因此 "putting" 它们一起会给我们一个 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

试试上面的方法,看看会发生什么!