Я пытаюсь составить график яркости пикселя в зависимости от расстояния от центра этого пикселя. Для этого я использовал циклы для проверки каждого пикселя на наличие этих значений. Но при добавлении их в мой массив я нахожу, что не могу. Одна из проблем заключается в том, что мне нужно сначала определить размер массива, чтобы значения не помещались в нужное место. Я верю, что все остальное работает, кроме добавления значений в массивы.
Я пробовал различные методы объединения, чтобы добавить значения каждого пикселя в массив. У меня не было больше решений, чтобы попробовать.
folder3 = 'C:\Users\slenka\Desktop\Image_Analysis\Subtracted';
cd('C:\Users\slenka\Desktop\Image_Analysis\Subtracted');
subtractedFiles = [dir(fullfile(folder3,'*.TIF')); dir(fullfile(folder3,'*.PNG')); dir(fullfile(folder3,'*.BMP')); dir(fullfile(folder3,'*.jpg'))];
numberOfSubImages= length(subtractedFiles);
for b = 1 : numberOfSubImages
subFileName=fullfile(folder3, subtractedFiles(b).name);
chartImage=imread(subFileName);
[chartY, chartX, chartNumberOfColorChannels] = size(chartImage);
ccY= chartY/2;
ccX= chartX/2;
c=[ccX,ccY];
distanceArray=zeros(1,chartX);
intensityArray=zeros(1,chartY);
f=1;
g=1;
for y=1:chartY
for x=1:chartX
D = sqrt((y - c(1)) .^ 2 + (x - c(2)) .^ 2);
grayScale= impixel(chartImage, x, y);
distanceArray(f)=[D];
intensityArray(g)=[grayScale];
f=f+1;
g=g+1;
end
end
xAxis=distanceArray;
yAxis=intensityArray;
plot(xAxis,yAxis);
end
Я ожидаю, что 2 массива, один полный значений данных для интенсивности света каждого пикселя в изображении, и другой для расстояния этих пикселей от центра изображения. Я хочу построить эти два массива как оси Y и X соответственно. На данный момент фактические результаты представляют собой совершенно пустой массив, полный нулей.