Итак, я использую функцию cpselect (Image Processing Toolbox), которая в основном возвращает значение пикселя (x, y) точек, которые я хочу в изображении. Значение пиксела затем сохраняется в рабочей области как переменная.
Итак, у меня есть две проблемы:
1) Мне нужно использовать эти переменные в функции. У меня есть несколько изображений, и после использования cpselect в рабочей области я получаю fixedPoints, fixedPoints1, fixedPoints2 и т. Д.
function [] = ControlPoints()
%function that reads images in directory and uses cpselect to each
imagefiles = dir('*.jpg');
nfiles = length(imagefiles);
for ii=1:nfiles
currentfilename = imagefiles(ii).name;
currentimage = imread(currentfilename);
cpselect(currentimage,currentimage);
pause;
end
a = fixedPoints1; % returns error(undefined variable)
end
Есть ли способ использовать эти переменные в одной и той же функции? Они создаются в рабочей области, а не в самой функции, поэтому я получаю ошибки, когда пытаюсь ее использовать.
2) После того, как я нашел способ использовать его, возникает вторая проблема. Переменные, которые я получаю, являются fixedPoints, fixedPoints1, fixedPoints2 и т. Д ... Я хочу поместить их все в массив ячеек для использования в той же функции или в другой. Как именно я могу это сделать? Я понимаю, что плохо динамически создавать такие имена переменных, но, учитывая обстоятельства, я не думаю, что у меня есть выбор.
заранее спасибо