У меня есть изображение канала, и у меня есть матрица точек размером 100x2 (в моем случае n равно 20, но, возможно, более понятно думать об этом как о 3-канальном изображении) , Мне нужно пробовать изображение в каждой точке и получить массив nx100 этих точек изображения. Я знаю, как сделать это с цикл:Пример 1D векторов из 3D-массива с использованием вектора точек
for j = 1:100
samples(j,:) = image(points(j,1),points(j,2),:);
end
Как бы я векторизации это? Я пробовал
samples = image(points);
но это дает 200 образцов из 20 каналов. И если я попробую
samples = image(points,:);
Это дает мне 200 образцов из 4800 каналов. Даже
samples = image(points(:,1),points(:,2));
дает мне 100 х 100 образцов 20 (по одному для каждой возможной комбинации х в X и Y в Y)
Относительно двойного голосования: Я не вижу, как [этот вопрос] (http://stackoverflow.com/questions/35991879/extracting-a-list-of-values-from-an-array-faster) адреса хвост ':'. – Daniel
@ Даниэль, согласен. Я отозвал голос, как только заметил эту мелочь. – Suever