我希望在 Matlab 中创建一个带有 9 个小圆圈的黑色大矩形图像,这些圆圈排列成一个 3x3 阵列,排列在矩形的中心,即中心圆的中点位于正方形的中心。
我需要圆圈均匀地间隔开,每个圆圈之间以及外圈和矩形的边界之间都有一定的距离(想象一张方形纸,上面有 9 个孔,用笔戳它)。我需要这个,以便我可以看到使用 2D 高斯的图像卷积将如何扭曲该图像。
但是我对 Matlab 比较陌生,并且一直在尝试创建这个图像。我已经成功地制作了一个黑色/白色正方形和一个黑色正方形中的白色圆圈,它占据了正方形本身的大部分,但我似乎无法在黑色正方形的任何所需位置制作一个小白色圆圈,更不用说在一个具体对齐。
这就是我用来创建带有大圆圈的黑色正方形的方法:
X = ones([100,1])*([-50:49]);
Y = ([-50:49]')*(ones([1,100]));
Z = (X.^2)+(Y.^2);
image = zeros([100 100]);
image(find(Z<=50^2)) = 1;
imshow(image)