Мне нужно найти координаты x и y бинарного изображения. Вот пример изображения для кода (квадратной формы)
Как я могу получить значения x и y в координатах оси вместо положения матрицы?
And use the codes as below:
a=imread('square.png');
b=im2bw(a);
figure(1)
imshow(b) %%show image in normal axis
sz=size(b);
RI=imref2d(size(b));
xmin=-sz(2)/2;
xmax=sz(2)/2;
ymin=-sz(1)/2;
ymax=sz(1)/2;
RI.XWorldLimits=[xmin xmax];
RI.YWorldLimits=[ymin ymax];
figure(2) %%show image is desired axes where zero is centered of axes
imshow(b,RI);
[x,y]=find(b==0);
figure(3)
scatter(x,y)
Рис (1) исходного изображения. Рисунок (2) является одним и тем же изображением, но показан на другой оси (т. Е. Нуль центрируется по осям x и y). Затем я ищу координаты x и y интересующей области (в этом примере квадратный кадр). Но координаты x и y, которые я получаю, не согласуются с осью из рисунка (2). Согласно рисунку (2), координаты x и y квадратной формы должны быть как -ve, так и + ve. Но все координаты x и y имеют значения + ve. Я смотрю, в чем проблема, а затем я заметил, что значения x и y от [x,y]=find(b==0)
соответствуют их положениям в матрице, а не координатам осей. Итак, что мне делать, если я хочу показать x и y в координатах осей? Tks.
Выходы 'find' будут' [строка, столбец] '' т.е. [у, х] '* не *' [х, у] ' – Suever
привет @Suever, я попытался, как вы предложили. Я меняю код как «[y, x] = find (b == 0)», но я думаю, что он все еще показывал значения x и y как позиции матрицы, но не координаты осей. Я что-то пропустил? Спасибо заранее. – Teddy
@Teddy Также не забудьте назвать «осейное изображение» для всех осей, чтобы гарантировать, что направление y согласовано. – Suever