У меня есть этот набор изображений, как показано, я нашел центр тяжести каждого из них с помощью приведенного ниже кода, теперь я сохранил новые изображения в Im01, Im02, Im03, и все они являются матричными изображениями размером N на N.
Im1 = imread('image1.png');
[x,y] = ait_centroid(Im1);
Im01=circshift(Im1, [-1 -5]);
[x,y] = ait_centroid(Im01);
Im01=uint16(Im01);
Im2 = imread('image2.png');
[x,y] = ait_centroid(Im2);
Im02=circshift(Im2, [-2 -4]);
[x,y] = ait_centroid(Im02);
Im02=uint16(Im02);
Im3 = imread('image3.png');
[x,y] = ait_centroid(Im3);
Im03=circshift(Im3, [-3 -5]);
[x,y] = ait_centroid(Im03);
Im03=uint16(Im03);
Моя задача состоит в том, чтобы добавить эти изображения, используя итерацию, потому что у меня был большой набор изображений (не только 3 изображения), над которыми я работаю. Я смог добавить их вручную и показать среднее значение, выполнив это
G=imadd(Im01,Im02,'uint16');
G=imadd(G,Im03,'uint16');
imshow(uint8(G/3),[]);
и это сработало. Но когда я попытался выполнить итерацию с помощью doin this
G=imadd(Im01,Im02,'uint16');
for i=1:1:3
G=imadd(G,Im(i),'uint16');
end
Я получаю ошибку, я также устал определять изображения как матрицу матрицы с помощью
H = [ [Im01] [Im02] [Im03] ]
G=imadd(Im01,Im02,'uint16');
for i=1:1:3
G=imadd(G,H(i),'uint16');
end
ошибка указывает на H (i).
Код в Matlab