在matlab中为图像的每个片段指定名称

在matlab中为图像的每个片段指定名称,matlab,matlab-figure,matlab-guide,Matlab,Matlab Figure,Matlab Guide,我有一张640X480大小的图片。我想把它分割成40X40,然后在每个片段上应用一个公共操作。所以我做了这样的事情: A= imread('image.jpg'); for a=0:11; for b= 0:15; B=A((1+a*40):(a+1)*40,(1+b*40):(b+1)*40); ....... the common program for each segment........ C= result;

我有一张640X480大小的图片。我想把它分割成40X40,然后在每个片段上应用一个公共操作。所以我做了这样的事情:

A= imread('image.jpg');
for a=0:11;
    for b= 0:15;
        B=A((1+a*40):(a+1)*40,(1+b*40):(b+1)*40);
             ....... the common program for each segment........
        C= result;        %result of the operation
    end
end
A= imread('image.jpg');
for a=0:11;
    for b= 0:15;
        B=A((1+a*40):(a+1)*40,(1+b*40):(b+1)*40);
             ....... the common program for each segment........
        C((a+1),(b+1))= result    %result of the operation
    end
end
我的问题是,如何为每个片段添加不同的标签C,以便进一步使用这些标签添加这些片段。 我试着这样定义B:

A= imread('image.jpg');
for a=0:11;
    for b= 0:15;
        B=A((1+a*40):(a+1)*40,(1+b*40):(b+1)*40);
             ....... the common program for each segment........
        C= result;        %result of the operation
    end
end
A= imread('image.jpg');
for a=0:11;
    for b= 0:15;
        B=A((1+a*40):(a+1)*40,(1+b*40):(b+1)*40);
             ....... the common program for each segment........
        C((a+1),(b+1))= result    %result of the operation
    end
end
如果它有效的话,我本可以使用C(I,j)作为变量(名称),但结果是一个错误。我还可以做些什么来标记for循环的结果

我希望我的问题可以理解

用于
C

C{ a+1, b+1 } = result;
您还需要检查是否使用
C

C{ a+1, b+1 } = result;
您还需要检查是否使用
C

C{ a+1, b+1 } = result;
您还需要检查是否使用
C

C{ a+1, b+1 } = result;

很多人还想检查

如果结果总是40x40,我会使用4d结果矩阵:

%preallocate at the beginning
C=nan(11,15,40,40)
并在循环中填充

C(a+1,b+1,:,:)=result

如果结果始终为40x40,我将使用4d结果矩阵:

%preallocate at the beginning
C=nan(11,15,40,40)
并在循环中填充

C(a+1,b+1,:,:)=result

如果结果始终为40x40,我将使用4d结果矩阵:

%preallocate at the beginning
C=nan(11,15,40,40)
并在循环中填充

C(a+1,b+1,:,:)=result

如果结果始终为40x40,我将使用4d结果矩阵:

%preallocate at the beginning
C=nan(11,15,40,40)
并在循环中填充

C(a+1,b+1,:,:)=result

你有什么错误<代码>C((a+1),(b+1))对于标量结果很好,您的结果是矩阵吗?是的,结果也是40X40图像矩阵。您会得到什么错误<代码>C((a+1),(b+1))对于标量结果很好,您的结果是矩阵吗?是的,结果也是40X40图像矩阵。您会得到什么错误<代码>C((a+1),(b+1))对于标量结果很好,您的结果是矩阵吗?是的,结果也是40X40图像矩阵。您会得到什么错误<代码>C((a+1),(b+1))对于标量结果很好,您的结果是矩阵吗?是的,结果也是40X40图像矩阵。我用这个简单的9X9矩阵尝试了您所说的。但是我得到了许多不同矩阵的矩阵作为回报,名称也像**C(:,:,x,y){x,y=1,2,3]**。它是什么样的名称?而且它不是唯一的,同一**C(:,:,x,y){x,y=1,2,3]**有多个矩阵=[1,1,2,2,3,3,3,3,4,3,4,3,4,3,3,3,3,3,3,3,3,3,3,3,3,3,3,5,5,3,3,3,3,3,3,3,3,3,4,3,3,3,3,3,3,3,3,3,3,3,3,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,8,8,8,8,8,8,8,8,4;0;0 0;0 0 0 0 0,0 0,0,0,0,0,0,0,3;0;0,0,8,0,8,8,8,3;0,8,8,8,8,7,7,7,3;0 0 0,8,7,7,7,3;0 0 b=a((1+a*3):(a+1)*3,(1+b*3):(b+1)*3);C(a+1,b+1,:,:)=B end endI用这个简单的9X9矩阵尝试了你所说的。但是我得到了许多不同矩阵的矩阵作为回报,名称也像**C(:,:,x,y){x,y=1,2,3]**。它是什么样的名称?而且它不是唯一的,同一个**C(:,:,x,y){x,y=1,2,3]**。A=[1,1,2,2,3,3,3,3,4,3,4,3,4,3,3,3,3,3,3,3,3,3,3,3,3,3,3,5,5,3,3,3,3,3,3,3,3,3,4,3,3,3,3,3,3,3,3,3,3,3,3,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,8,8,8,8,8,8,8,8,4;0;0 0;0 0 0 0 0,0 0,0,0,0,0,0,0,3;0;0,0,8,0,8,8,8,3;0,8,8,8,8,7,7,7,3;0 0 0,8,7,7,7,3;0 0 b=a((1+a*3):(a+1)*3,(1+b*3):(b+1)*3);C(a+1,b+1,:,:)=B end endI用这个简单的9X9矩阵尝试了你所说的。但是我得到了许多不同矩阵的矩阵作为回报,名称也像**C(:,:,x,y){x,y=1,2,3]**。它是什么样的名称?而且它不是唯一的,同一个**C(:,:,x,y){x,y=1,2,3]**。A=[1,1,2,2,3,3,3,3,4,3,4,3,4,3,3,3,3,3,3,3,3,3,3,3,3,3,3,5,5,3,3,3,3,3,3,3,3,3,4,3,3,3,3,3,3,3,3,3,3,3,3,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,8,8,8,8,8,8,8,8,4;0;0 0;0 0 0 0 0,0 0,0,0,0,0,0,0,3;0;0,0,8,0,8,8,8,3;0,8,8,8,8,7,7,7,3;0 0 0,8,7,7,7,3;0 0 b=a((1+a*3):(a+1)*3,(1+b*3):(b+1)*3);C(a+1,b+1,:,:)=B end endI用这个简单的9X9矩阵尝试了你所说的。但是我得到了许多不同矩阵的矩阵作为回报,名称也像**C(:,:,x,y){x,y=1,2,3]**。它是什么样的名称?而且它不是唯一的,同一个**C(:,:,x,y){x,y=1,2,3]**。A=[1,1,2,2,3,3,3,3,4,3,4,3,4,3,3,3,3,3,3,3,3,3,3,3,3,3,3,5,5,3,3,3,3,3,3,3,3,3,4,3,3,3,3,3,3,3,3,3,3,3,3,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,8,8,8,8,8,8,8,8,4;0;0 0;0 0 0 0 0,0 0,0,0,0,0,0,0,3;0;0,0,8,0,8,8,8,3;0,8,8,8,8,7,7,7,3;0 0 0,8,7,7,7,3;0 0 b=a((1+a*3):(a+1)*3,(1+b*3):(b+1)*3);C(a+1,b+1,:,:)=b结束