У меня есть данные изображения ОКТ, которыми я пытаюсь манипулировать:
Я хотел бы удалить все точки, ограниченные концентрическими кругами в центре изображения. До этого момента я вручную задавал радиус наибольшего круга и устанавливал все точки в пределах области круга черными. Эти размеры кругов могут варьироваться в зависимости от источника изображения и из-за артефактов, поэтому я пытаюсь найти более идеальный способ выполнить это удаление.
Первоначально я думал, что могу использовать imfindcircles() для идентификации этих кругов, но алгоритм не может обнаружить большинство из них независимо от указанных радиусов. Методы, основанные на связанных компонентах (bwareaopen, regionprops), также не работают, поскольку концентрические круги кажутся связанными с более крупной структурой.
У меня была одна мысль, что я могу преобразовать в полярные координаты, так как центр концентрических кругов всегда будет в центре изображения, создавая это изображение:
width = 512
greyImg = ImToPolar(rgb2gray(rgb_img), 0, 1, width, width);
Это должно быть значительно проще в обработке. У кого-нибудь есть идеи?