2017-02-01 16 views
1

В качестве ввода моего кода мне нужно иметь некоторые позиции на моем изображении: позиции находятся в пикселях, а начало координат (0,0) верхний левый угол моей картиныMATLAB Сдвиг источника (0,0) пикселей на моем изображении

picture where positions are tracked with origin top left

проблема заключается в том, что когда я запускаю мой код, который отображает позиции на картинке, происхождение смещается в левом нижнем углу:

picture where positions are mapped with origin bottom left

Поэтому мой вопрос: как я мог бы также сдвиньте мой вход (позиции моего изображения1), чтобы он соответствовал процессу кода?

Спасибо за вашу помощь, Aude

ответ

0

С изображениями вы реверс оси Y:

set(ax,'YDir','reverse'); 
+0

спасибо, что это работает !! –

0

Это будет зависеть от вашего кода. Возможно, вы можете сделать это на лету, чтобы сразу получить желаемый результат.

Если вы не просто переверните выход. Вы можете использовать flipud.

https://de.mathworks.com/help/matlab/ref/flipud.html

+0

Благодарим за ваш ответ! –

1

Добавление ответа с немного подробнее:

В компьютерах, обработка изображений и т.д., что является нормой иметь (0,0) в верхнем левом углу. Тем не менее, понятно, что когда у вас есть x, y данных, вы хотите построить его вместе с изображением. Вот некоторые решения:

imshow(image); 
axis xy; % This line sets up the axis in a standard coordinate system 

вы можете вернуть его с axis ij


Часто, это не достаточно. Поскольку imshow предполагает, что каждый пиксель находится в целочисленной позиции индекса, и у вас может не быть этого. Возможно, ваши данные находятся в миллиметрах или в любых других произвольных единицах. Решение, которое с помощью imagesc

imagesc(img); 

эквивалентно imashow(img);axis xy. Кроме того, вы можете выбрать произвольные матрицы для местоположений пикселей как imagesc(x,y,img);


Наконец, вы можете flipud данные для построения графиков, но я предлагаю вам сделать это инлайн с сюжетом, так что вы не измените сами данные.

imshow(flipud(img)) 
+0

Спасибо за ваш ответ, это помогло! –

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