2013-09-16 3 views
0

У меня есть изображение с xi, yi значениями, которые мне нужно извлечь в определенных местах на изображении. Для этого я использовал ginput для получения координат x, y местоположений, где мне нужно значение. Затем мне нужно извлечь значение из изображения, выполнив: value = image(x,y).Вывод значения MATLAB

Однако:

Прося ценности изображения, говоря: values = image(x(:),y(:)); (координаты от ginput), я получаю все возможные значения х в паре у, вместо проверки первого х-координат к первая y-координата и т. д.

Это можно сделать с помощью простого синтаксиса MATLAB, о котором я не думал, или мне нужно создать цикл. Если да, может кто-то помочь?

+0

Возможный дубликат [Преобразование (x, y) координат в Matlab] (http://stackoverflow.com/questions/9557840/convert-x-y-coordinates-in-matlab) –

ответ

0

Вы должны использовать sub2ind:

>> values = image(sub2ind(size(image), y(:), x(:))); 

Обратите внимание, что x и y передаются как y - x пар в sub2ind: потому что MATLAB адреса записи в матрицах в строке колонке координат, а не х-у координат.

+0

Большое вам спасибо !. Это спасло мой день :-) – MSJ

+0

@ user2782743. Отлично. Добро пожаловать в stackoverflow. Если вы найдете этот ответ полезным, пожалуйста, подумайте о «принятии» его, нажав на значок «V» рядом с ним. – Shai

Смежные вопросы