点阵生成函数说明:
生成(M,N)的方点点阵,每个点的尺寸为(width,width)
M=50;N=50;
I=zeros(M,N);
width=2;%每个点像素大小
width*widthA=5;B=5;%生成A*B的点阵列`
方案一:直接赋值操作,图像尺寸不变。
`I1=I;kA=floor(M/A);kB=floor(N/A);
for i=1:A
for j=1:B
I1((i-1)*kA+1:(i-1)*kA+width,(j-1)*kB+1:(j-1)*kB+width)=1;
end
end
imshow(I1)`
50*50
方案二:使用卷积进行点阵的膨胀,但是会使得图像尺寸改变+1。
I2=I; Fat=ones(width);
kA=floor(M/A);kB=floor(N/A);
for i=1:A
for j=1:B
I2((i-1)*kA+1,(j-1)*kB+1)=1;
end
end
I2=conv2(I2,Fat);
imshow(I2)
51*51
方案三:使用膨胀函数进行点阵的膨胀,图像尺寸不变。
I3=I; SE=strel('square',width);
kA=floor(M/A);kB=floor(N/A);
for i=1:A
for j=1:B
I3((i-1)*kA+1,(j-1)*kB+1)=1;
end
end
I3=imdilate(I3,SE);
imshow(I3)
50*50