0

我有我試圖操縱OCT成像數據:去除圖像同心圓MATLAB

enter image description here

我想刪除的圖像的中心由同心圓內的全部點。到目前爲止,我手動爲最大的圓圈指定半徑,並將圓圈區域內的所有點設置爲黑色。這些圓圈的大小可以根據圖像來源和人爲因素而有所不同,所以我試圖找到一種更理想的方式來執行此刪除。

我原本以爲我可以使用imfindcircles()來識別這些圓圈,但算法無法檢測大部分圓圈,無論指定的半徑如何。依靠連接組件(bwareaopen,regionprops)的方法也失敗了,因爲同心圓似乎連接到較大的結構。

我想過了,我可以轉換到極座標,爲同心圓將始終在圖像的中心的中心,產生這一形象:

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

enter image description here

這應該更容易處理。有沒有人有任何想法?

+0

你把錯誤的圖像。 –

+0

那真是尷尬,固定 – Hosty

+0

笛卡爾極座標變換不是一個好主意。它需要在杆的中心進行,你不知道。 –

回答

0

水平累積所有圖像列。然後垂直輪廓將允許您更容易地找到圓半徑(它們顯示爲峯)。知道外部半徑,您可以從原始圖像中提取一個圓形ROI。

enter image description here