【发布时间】:2015-11-12 18:53:16
【问题描述】:
我有我想要处理的 OCT 成像数据:
我想删除图像中心以同心圆为界的所有点。到目前为止,我手动指定了最大圆的半径并将圆区域内的所有点设置为黑色。这些圆圈的大小可能会因图像源和伪影而异,因此我正在尝试找到一种更理想的方法来执行此移除操作。
我最初认为我可以使用 imfindcircles() 来识别这些圆,但无论指定半径如何,该算法都无法检测到其中的大部分。依赖连接组件(bwareaopen、regionprops)的方法也会失败,因为同心圆似乎连接到更大的结构。
我的一个想法是我可以转换为极坐标,因为同心圆的中心将始终位于图像的中心,从而产生此图像:
width = 512
greyImg = ImToPolar(rgb2gray(rgb_img), 0, 1, width, width);
这应该更容易处理。有人有什么想法吗?
【问题讨论】:
-
你放错图片了。
-
这很尴尬,已解决
-
笛卡尔到极坐标的变换不是一个好主意。它需要在你不知道的圆心放置杆子的情况下进行。
-
圆心将始终位于使用此成像模式生成的图像的中心。抱歉,我应该在我的原始帖子中指定。
标签: matlab image-segmentation polar-coordinates connected-components tomography-reconstruction