0

我有我试图操纵的 OCT 成像数据:

在此处输入图像描述

我想删除由图像中心的同心圆包围的所有点。到目前为止,我手动指定了最大圆的半径并将圆区域内的所有点设置为黑色。这些圆圈的大小可能会因图像源和伪影而异,因此我正在尝试找到一种更理想的方法来执行此删除操作。

我最初以为我可以使用 imfindcircles() 来识别这些圆,但是无论指定的半径如何,该算法都无法检测到其中的大部分。依赖连接组件(bwareaopen、regionprops)的方法也会失败,因为同心圆似乎连接到更大的结构。

我的一个想法是我可以转换为极坐标,因为同心圆的中心将始终位于图像的中心,从而产生此图像:

width = 512
greyImg = ImToPolar(rgb2gray(rgb_img), 0, 1, width, width);

在此处输入图像描述

这应该更容易处理。有没有人有任何想法?

4

1 回答 1

0

水平累积所有图像列。然后垂直轮廓将使您更容易找到圆半径(它们显示为峰)。知道外半径后,您可以从原始图像中提取圆形 ROI。

在此处输入图像描述

于 2015-11-12T20:36:47.650 回答