Я читаю изображение и сохраняю его в 2d-матрице. после выполнения некоторых вычислений на нем, как показано здесь:matlab - получить векторы из матрицы (quiverplot)
im = rgb2gray(imread('ellipse.png'));
im = im(:,:,1);
w = size(im,1);
h = size(im,2);
[dx,dy] = gradient(double(im));
[x y] = meshgrid(1:h,1:w);
a = zeros(temp);
lambda = 1;
Ox =-1.^lambda.* -x;
Oy =-1.^lambda.* y;
hold on
quiver(x,y,Ox,Oy)
я получаю следующее изображение из quiverplot:
https://docs.google.com/file/d/0B0iDswLYaZ0zR2lUQ2NkZnd1QXM/edit?pli=1
Мой вопрос, как я могу получить доступ к этим векторам (стрелки) от quiverplot? Мне нужно использовать эти векторы в кросс-продукте позже. Благодарю.
'Ox' и' Oy' в вашем коде * являются * этими векторами (x и y компоненты соответственно). 'quiver' не вычисляет их, а просто замышляет их. – tmpearce
Спасибо за ваш ответ. если я пытаюсь выполнить cross (Ox, Oy), тогда я получаю ошибку, потому что cross ожидает векторов, но здесь я поставляю матрицы. так как я могу получить векторы из Ox и Oy, чтобы они были пригодны для использования в кросс-продукте? – brucezepplin
также, если я делаю крест (Ox (1,1), Oy (1,1) Я получаю следующую ошибку: Ошибка при использовании ==> cross at 37 A и B должны иметь хотя бы одно измерение длины 3. – brucezepplin