我制作了一个程序,该程序生成由同心环组成的图像,其值由随机数给出:
cx=20;cy=20;ix=40;iy=40;
[x,y]=meshgrid(-(cx-1):(ix-cx),-(cy-1):(iy-cy));
a=zeros(40,40);
x1=rand(1,20);
for j= 1:20
%%inner radius
R=j-1;
c1=((x.^2+y.^2)<=R^2);
n1=not(c1);
%%outer radius
R=j;
c2=((x.^2+y.^2)<=R^2);
rj=bitand(c2,n1);
rj=rj.*x1(1,j);
a=imadd(a,rj);
end
imshow(a)
问题是我想获得连续的图像,就好像钻机正在有序移动一样。所以我使用了 circshift 函数,我的代码现在是这样的:
cx=20;cy=20;ix=40;iy=40;
[x,y]=meshgrid(-(cx-1):(ix-cx),-(cy-1):(iy-cy));
a=zeros(40,40);
x1=rand(1,20);
for i= 1:20
xc=circshift(x1,[1 i-1]);
%%inner radius
R=j-1;
c1=((x.^2+y.^2)<=R^2);
n1=not(c1);
%%outer radius
R=j;
c2=((x.^2+y.^2)<=R^2);
rj=bitand(c2,n1);
rj=rj.*xc(1,j);
a=imadd(a,rj);
end
imshow(a)
并且程序没有运行。任何人都可以帮助我吗?此致。