0

所以我试图在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 上找到可用的答案

4

1 回答 1

0

Mikkel - 而不是 30x6 的点矩阵,也许将其可视化为 30x2x6 的三维矩阵。请记住,您的xy是 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

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

于 2016-01-10T22:47:39.813 回答