我有一组图像,如图所示,我使用下面的代码找到了每个图像的质心,现在我将新图像存储在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);我的挑战是如何使用迭代添加这个图像,因为我有一大组图像(而不是jst 3个图像)。我能够手动添加它们,并通过这样做来显示平均值
G=imadd(Im01,Im02,'uint16');
G=imadd(G,Im03,'uint16');
imshow(uint8(G/3),[]);当我尝试通过执行以下操作进行迭代时,结果显示为worked.But
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编写的
发布于 2011-04-11 09:25:33
H = [ [Im01] [Im02] [Im03] ]不会在Matlab中创建矩阵数组。相反,它将这三个图像连接到一个数组中。您要做的是创建一个cell array,也就是说,可以执行以下操作:
%# curly brackets to construct cell array
H = {Im01, Im02, Im03 };
G=H{1}; %# initialize G
for i=2:1:3 %# start at img#2
G=imadd(G,H{i},'uint16');
end或者,如果要对图像执行的操作只是添加它们,则可以执行以下操作:
%# in case you want to store the images
images = cell(numberOfImages,1);
%# loop over all images
for iImg = 1:numberOfImages
tmp = imread(sprintf('image%i.png',iImg));
[x,y] = ait_centroid(tmp);
Im01=circshift(tmp, [x y]); %# I assume that's what you want?
[x,y] = ait_centroid(Im01); %# not sure what you do this for
if iImg ==1
G = uint16(tmp);
else
G = imadd(G,uint16(tmp));
end
%# maybe you want to store your images
images{iImg} = uint16(tmp);
end发布于 2011-04-11 05:28:29
您可以使用sprintf和eval遍历图像的名称。
G=imadd(Im01,Im02,'uint16');
for i=1:1:3
Im_name = sprinft('Im0%i',i);
G=imadd(G,eval(Im_name),'uint16');
endIm02函数将在字符串'Im0‘后面添加数字i,因此您将首先得到Im01,然后是im0,依此类推。eval函数用于将这些字符串解释为Matlab变量。
编辑:我认为避免这种问题的最好方法是从头开始将图像保存在一个单元格中。也就是说,当读取图像时,将它们读取到一个单元中
Im{1} = imread('Im01.xxx')
Im{2} = imread('Im02.xxx')
etc...然后,您可以轻松地迭代不同的图像,而无需使用字符串。
https://stackoverflow.com/questions/5613724
复制相似问题