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

时间:2014-06-29 18:46:02

标签: 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;        %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((a+1),(b+1))= result    %result of the operation
    end
end

如果它有效,我可以使用 C(i,j)作为变量(名称),但它以错误结束。我还可以为标记 for 循环的结果做些什么。

我希望我的问题是可以理解的。

2 个答案:

答案 0 :(得分:3)

cell array用于C

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

你们许多人也想检查blockproc

答案 1 :(得分:0)

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

%preallocate at the beginning
C=nan(11,15,40,40)

并填写循环

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