使用bsxfun在Matlab中创建圆形蒙版

时间:2014-02-28 16:52:00

标签: matlab geometry mask bsxfun

我正在尝试使用Matlab从图像中剪切圆圈。

c(1)和c(2)是圆心的x,y坐标,r是半径。

mask = bsxfun(@plus, (1:256) - c(1)^2, (transpose(1:256) - c(2)^2)) < r^2;

figure
imshow(im(mask));

一切似乎都有效,但我没有使用面具,而是获得了一个矢量。

1 个答案:

答案 0 :(得分:1)

((1:256) - c(1))^2代替(1:256) - c(1)^2

mask = bsxfun(@plus, ((1:256) - c(1)).^2, (transpose(1:256) - c(2)).^2) < r^2;

figure
imshow((mask));