我將分割算法應用於MRI脊柱圖像,然後在分割圖像上連接組件分析並獲得以下圖像。如何消除圖像中不需要的小區域
該圖像由不需要的區域組成。我只需要垂直脊柱,更具體地說是椎間盤。你能提出任何方法來提取它嗎?形態操作將無濟於事。我曾嘗試過
一些代碼:
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)
向我們展示你曾經嘗試過的一些代碼! –
原始圖像和你想要的結果,因爲我不知道椎間盤是哪個位。 – Maurits
編輯代碼和原始圖像 – user1234