这行代码是什么意思?这些是matlab中的代码
What do these line of codes mean?These are codes in 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
这是行
a(x,y,1:2:3)=0;
解释:
a
是一个 400×400×3 的三维数组:对于 RGB 值,第三维的大小为 3。命令 1:2:3
创建一个向量,从 1
开始直到 3
跳转 2
产生 [1 3]
向量。结果,a(x,y,1:2:3)=0
将红色和蓝色通道(第一个和第三个)设置为零,仅将绿色通道(第二个)设置为 255,从而产生绿色像素。
当我 运行 这些代码时,它们会在白色背景上显示绿点的数量。我可以识别白色背景的代码,但是这些绿点是从哪里来的,因为它们没有提供任何颜色分配?
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
这是行
a(x,y,1:2:3)=0;
解释:
a
是一个 400×400×3 的三维数组:对于 RGB 值,第三维的大小为 3。命令 1:2:3
创建一个向量,从 1
开始直到 3
跳转 2
产生 [1 3]
向量。结果,a(x,y,1:2:3)=0
将红色和蓝色通道(第一个和第三个)设置为零,仅将绿色通道(第二个)设置为 255,从而产生绿色像素。