这些代码行是什么意思?这些是matlab中的代码

时间:2015-02-05 12:00:02

标签: image matlab

当我运行这些代码时,它们会在白色背景上显示绿点数。我可以识别白色背景的代码,但这些绿点来自哪里,因为它们没有提供任何颜色分配?

a(1:400,1:400,1:3)=255;
l(1:200,1:2)=0;
d(1:200,1)=1000;
sd(1,1)=0;
for g=1:200     
    l(g,1:2)=randint(1,2,[20 380]);
    for i=1:360
        for r=0:3
            x=l(g,1)+r*cos(i);
            y=l(g,2)+r*sin(i);
            x=round(x);
            y=round(y);
            a(x,y,1:3)=255;
            a(x,y,1:2:3)=0;
        end
    end
    imshow(a)
end

1 个答案:

答案 0 :(得分:0)

这是

a(x,y,1:2:3)=0;

说明:

a是一个400乘400乘以3的3D阵列:RGB值的第三维尺寸为3。命令1:2:3创建了一个vecotr,从13开始,2的跳跃导致[1 3]向量。结果a(x,y,1:2:3)=0将红色和蓝色通道(第一个和第三个)设置为零,只留下绿色通道(第二个)设置为255,结果为绿色像素。