查看单个帖子
旧 2019-12-14, 20:38   #1
poster
高级会员
 
注册日期: 2019-11-21
帖子: 3,006
声望力: 66
poster 正向着好的方向发展
帖子 MATLAB:如何从图像中切出一个圆圈

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

我需要执行虹膜分割,然后确定虹膜的中心点和半径,然后将其从图像中切除。

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



回答:

一种方法是创建一个二进制掩码,该掩码在圆的内部为1,在圆的外部为0。然后,您可以使用此数组用NaN遮罩圆外的所有内容,或读取遮罩内的图像的像素值。

要创建圆形蒙版,一种简单的方法是创建以虹膜为中心的坐标数组,并设置距离阈值,如下所示:

[xx,yy] = ndgrid((1:imageSize(1))-ci(1),(1:imageSize(2))-ci(2)); mask = (xx.^2 + yy.^2)
poster 当前离线   回复时引用此帖