Muszę segmentować wątrobę z obrazu TK jamy brzusznej za pomocą progu adaptacyjnego. Ale cały plan oddzielam od samego tła. Potrzebuję tylko oddzielonej części wątroby z pierwszego planu. Sprawdź plik pdf w http://www.ijcaonline.org/casct/number1/SPE34T.pdf Potrzebuję danych wyjściowych podobnych do tych pokazanych na rysunku 6.
Załączam tutaj kodowanie. Prosimy mi pomóc.
%testadaptivethresh.m
clear;close all;
im1=imread('nfliver2.jpg');
bwim1=adaptivethreshold(im1,11,0.03,0);
figure,imshow(im1);
figure,imshow(bwim1);
imwrite(bwim1,'at2.jpg');
function bw=adaptivethreshold(IM,ws,C,tm)
%ADAPTIVETHRESHOLD An adaptive thresholding algorithm that seperates the
%foreground from the background with nonuniform illumination.
% bw=adaptivethreshold(IM,ws,C) outputs a binary image bw with the local
% threshold mean-C or median-C to the image IM.
% ws is the local window size.
% tm is 0 or 1, a switch between mean and median. tm=0 mean(default); tm=1 median.
%
% Contributed by Guanglei Xiong ([email protected])
% at Tsinghua University, Beijing, China.
%
% For more information, please see
% http://homepages.inf.ed.ac.uk/rbf/HIPR2/adpthrsh.htm
if (nargin<3)
error('You must provide the image IM, the window size ws, and C.');
elseif (nargin==3)
tm=0;
elseif (tm~=0 && tm~=1)
error('tm must be 0 or 1.');
end
IM=mat2gray(IM);
if tm==0
mIM=imfilter(IM,fspecial('average',ws),'replicate');
else
mIM=medfilt2(IM,[ws ws]);
end
sIM=mIM-IM-C;
bw=im2bw(sIM,0);
bw=imcomplement(bw);
Mój zmodyfikowany kod dla testadaptivethresh.m
clear;
im=imread('nfliver7.gif');
figure,imshow(im)
bwim1=adaptivethreshold(im,300,-0.15,0);
bw=bwareaopen(bwim1,3000);
se=strel('diamond',4);
er=imerode(bw,se);
bw1=bwareaopen(er,3000);
er1=imerode(bw1,se);
bw2=bwareaopen(er1,1000);
fi=imfill(bw2,'holes');
figure,imshow(fi)
op=uint8(fi);
seg=im.*op;
figure,imshow(seg)
imwrite(seg,'sliver7.jpg');
matlab
image-processing
computer-vision
Gomathi
źródło
źródło
Odpowiedzi:
Widziałem link do referatu (SS Kumar), o którym wspominałeś, oraz link, do którego dostałeś kod (HIPR), to dwa różne algorytmy - mimo że oba brzmią jak Adaptacyjny próg
Najpierw chciałbym powiedzieć różnicę.
W metodzie HIPR ogólnym założeniem jest zasadniczo obraz na poziomie 2 klas - tj. Pierwszy plan i tło. W przypadku 2 progów klasowych, oczekuje się 2 pików lub obszarów na histogramie obrazu, w szczególności tła vs. forground, tekstu vs. białego papieru. Jeśli jakoś znalazłeś optymalny punkt doliny na histogramie - masz najczystszy podział. Oto jak może wyglądać histogram:
Jednak ten punkt doliny może nieznacznie przesuwać się po okolicy. Podano tam dobre przykłady wariantów oświetlenia. W związku z tym ten optymalny punkt doliny istnieje wszędzie, ale nieznacznie różni się przestrzennie, dlatego uniwersalny próg zawiodłby. Dlatego punkt doliny (próg) jest obliczany dla każdego regionu lokalnego.
Metoda papierowa SS Kumara, a dokładniej klasa obrazów, z którymi mamy do czynienia, jest wieloklasowa (wiele obiektów o różnym zakresie intensywności i rozpiętości). W takich przypadkach histogramy są multimodalne, tj. Ma wiele pików i dolin i przypuszczalnie każdy pik odpowiada innemu obiektowi, ale może być jeszcze bardziej złożony.
Histogram może wyglądać tak: (to ten sam obraz, co na papierze).
W tym przypadku powyższe podejście do 2 klas po prostu zawiedzie, ponieważ nie ma jednej dobrej doliny. Dlatego twój pierwszy opublikowany obraz wygląda jak czarne / białe kropki dookoła.
Znaczenie progu adaptacyjnego oznacza tutaj, że musisz zidentyfikować prawidłowy pik i pas skali szarości, który pokrywa większość intensywności dźwigni, a inne obiekty są w wyraźnych kontrastach, co pozwala
Co powinieneś zrobić?
Po pierwsze, jeśli obowiązkowe jest zastosowanie progowania adaptacyjnego, znajdź histogram i sprawdź, jaki zakres intensywności, a następnie dla progu w lewo lub w prawo to granice intensywności, które piksele należy odrzucić.
Alternatywnie możesz użyć algorytmu powiększania regionu lub algorytmu podziału i scalania. Więcej informacji można znaleźć w tym pytaniu: Jakie metody segmentacji można zastosować w przypadku prostych obrazów?
źródło