У меня есть вопрос о значениях, возвращаемых getPosition. Ниже мой код. Это позволяет пользователю установить 10 точек на данном изображении:
figure ,imshow(im);
colorArray=['y','m','c','r','g','b','w','k','y','m','c'];
pointArray = cell(1,10);
% Construct boundary constraint function
fcn = makeConstrainToRectFcn('impoint',get(gca,'XLim'),get(gca,'YLim'));
for i = 1:10
p = impoint(gca);
% Enforce boundary constraint function using setPositionConstraintFcn
setPositionConstraintFcn(p,fcn);
setColor(p,colorArray(1,i));
pointArray{i}=p;
getPosition(p)
end
Когда я начинаю устанавливать точки на изображении, я получаю результаты наподобие [675.000 538.000], что означает, что часть x координаты равна 675, а часть y равна 538, верно? Это то, что говорится в документации MATLAB, но поскольку изображение имеет размер 576 * 120 (как показано в окне), это не логично.
Мне показалось, что как-то getPosition сначала возвращает координату y. Мне нужно кое-что прояснить.
Спасибо за помощь