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



我正在尝试使用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: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));

相关内容

  • 没有找到相关文章

最新更新