2015-04-23 57 views
3

我將分割算法應用於MRI脊柱圖像,然後在分割圖像上連接組件分析並獲得以下圖像。如何消除圖像中不需要的小區域

該圖像由不需要的區域組成。我只需要垂直脊柱,更具體地說是椎間盤。你能提出任何方法來提取它嗎?形態操作將無濟於事。我曾嘗試過

  • img1
  • img2

一些代碼:

Img= imread('sub.png'); 
figure,imshow(Img); 
Img=rgb2gray(Img); 
Img = adapthisteq(Img); 
K1=imadjust(Img); 
figure, imshow(Img), title('After Adjustment Image') 
hy = fspecial('sobel'); 
hx = hy'; 
Iy = imfilter(double(Img), hy, 'replicate'); 
Ix = imfilter(double(Img), hx, 'replicate'); 
gradmag = sqrt(Ix.^2 + Iy.^2); 
figure, imshow(gradmag,[]), title('gradmag') 
%threshold = graythresh(im); 
originalImage = im2bw(Img,.18); 
figure, imshow(originalImage), title('After thresholding') 
originalImage = bwareaopen(originalImage,150); 
figure, imshow(originalImage), title('After bwarea') 
k=2; 
tic 
[mask1,mu1,v,p]=EMSeg(ima,k); 
for i=1:k 
    figure 
    im2bw(mask1==i); 
end 
toc 
im=mask1; 
hy = fspecial('sobel'); 
hx = hy'; 
Iy = imfilter(double(im), hy, 'replicate'); 
Ix = imfilter(double(im), hx, 'replicate'); 
gradmag = sqrt(Ix.^2 + Iy.^2); 
figure, imshow(gradmag,[]), title('gradmag') 

se = strel('disk', 1); %# structuring element 
closeBW = imclose(gradmag,se); 
CC = bwconncomp(closeBW); 
L = labelmatrix(CC); 
[labeled,numObjects]= bwlabel(im); 
numObjects 
figure, imshow(label2rgb(L)); 
originalImage=labeled; 
se = strel('disk', 1); %# structuring element 
originalImage = imclose(originalImage,se); 
figure, imshow(originalImage); 
stats = regionprops(labeled, 'Area') 
%idx = find([stats.Area]>1000 & [stats.Area]<300); 
labeled=labeled(labeled<50) 
+2

向我們展示你曾經嘗試過的一些代碼! –

+4

原始圖像和你想要的結果,因爲我不知道椎間盤是哪個位。 – Maurits

+0

編輯代碼和原始圖像 – user1234

回答

0

也許你可以使用二維相關。假設椎間盤是水平定向的橢圓形狀(在雙色圖像中),您可以嘗試定義一個示例形狀,該形狀大致類似於您想要查找的內容,然後在整個場中執行2D相關。您將獲得一張圖像,希望能獲得與光盤中心對應的較亮點,您可以將它用於更復雜的過程的起點。您可能必須重複這樣做,使用一系列內核。

此外,雖然形態學操作並未直接解決問題,但它們可能仍然有作用。例如,如果您定義的結構元素看起來有點像您的目標形狀,那麼您可能會侵蝕圖像以嘗試並減少圖像的線性部分(例如脊椎),然後執行相關性。

或者,您可以嘗試使用morphops關閉光盤(沉重的開啓和關閉),以平滑所有邊緣並填充所有的孔。然後,您可以提取骨架,修剪短分支,然後遍歷每個節點的連通性:希望如果您已將每個磁盤轉換爲兩個導軌之間的實心橢圓,則可以基於此檢測它們。

+0

你需要一個'內核'或一個小'理想'的圖像來搜索,看起來像你所有的光盤,但不是太具體。您可能必須通過從訓練集和平均值中切出光盤來手動構建一個光盤,或者類似的東西。但這不是成功完成問題的祕訣,這些只是讓你開始的想法。如果他們對你來說是新的,那麼我強烈建議從一些教科書開始 - szeliski.org/book是一個很好的開始。 Hastie和Tibshirani如果你想要數學。 – xenoclast

相關問題