MATLAB:如何从图像中裁剪出圆圈

时间:2011-01-10 21:37:25

标签: matlab image-processing crop

我需要在MATLAB中裁剪一个圆圈。

我需要执行虹膜分割,并且我已经确定了虹膜的中心点和半径,我需要将其从图像中剪切掉。

我有一个向量ci,ci(1)是X坐标,ci(2)是Y坐标,ci(3)是圆的半径。

1 个答案:

答案 0 :(得分:10)

这样做的一种方法是创建一个二进制掩码,其中包含圆圈内的一个和外部的零。然后,您可以使用此数组使用NaN屏蔽圆圈外的所有内容,或者读取蒙版内图像的像素值。

要创建圆形蒙版,一种简单的方法是创建以光圈为中心的坐标数组,并对距离进行阈值处理,如下所示:

[xx,yy] = ndgrid((1:imageSize(1))-ci(1),(1:imageSize(2))-ci(2));
mask = (xx.^2 + yy.^2)<ci(3)^2;