Matlab kullanarak karaciğer segmentasyonu için Uyarlanabilir Eşik


11

Adaptive Thresholding kullanarak bir karın BT görüntüsünden karaciğeri segmentlere ayırmam gerekiyor. Ama tüm ön planı sadece arka plandan ayırıyorum. Sadece ön planın karaciğer kısmının ayrılmasına ihtiyacım var. Http://www.ijcaonline.org/casct/number1/SPE34T.pdf pdf dosyasını kontrol edin Şekil 6'da gösterilen çıktıya benzer bir çıktıya ihtiyacım var.

Kodumu buraya ekliyorum. Lütfen bana yardım et.

%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 (xgl99@mails.tsinghua.edu.cn)
%  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);

Orijinal görüntü Segmentasyon Sonrası

Testadaptivethresh.m için değiştirilmiş kodum

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');

uyarlanabilir eşik kullanmak gerekli mi?
vini


Evet, sadece uyarlamalı eşik kullanmam gerekiyor. Değilse, bana başka iyi bir segmentasyon yöntemi önerebilir misiniz (bölge yetiştirme ve FCM dışında)?
Gomathi

www4.comp.polyu.edu.hk/~cslzhang/code.htm Bunu buldum, K. Zhang, H. Song ve L. Zhang'ın “Yerel Görüntü Uydurma Enerjisi ile Hareket Eden Aktif Kontürler ” koduna bakabilirim tanıma, cilt. 43, sayı 4, s. 1199-1206, Nisan 2010. Bu görüntü için yeterince iyi çalıştı
vini

Çok teşekkür ederim. Çıktı aldım. Parametre değerlerini değiştirdim ve morfolojik işlemler yaptım. Herkese teşekkürler.
Gomathi

Yanıtlar:


6

Bahsettiğiniz makalenin bağlantısını (SS Kumar'ın) ve kodu aldığınız bağın (HIPR) iki farklı algoritma olduğunu gördüm - Her ikisi de Uyarlanabilir Eşik

İlk olarak size farkı söylemek istiyorum.

HIPR yönteminde genel bir varsayım esasen 2 sınıf düzeyinde görüntüdür - yani ön plan ve arka plan. Herhangi bir 2 sınıf eşiklemesinde, görüntü histogramında, özellikle arka plan, metin, beyaz kağıt veya arka plan gibi 2 pik veya bölge beklenir. Bir şekilde histogramda en uygun vadi noktasını bulduysanız - en temiz bölüm elde edersiniz. Histogram şöyle görünebilir:
resim açıklamasını buraya girin

Bununla birlikte, bu vadi noktası yerel olarak biraz değişiyor olabilir. Orada verilen aydınlatma varyasyonlarına iyi örnekler var. Bu nedenle, bu optimal vadi noktası her yerde bulunur, ancak mekansal olarak biraz değişir, dolayısıyla evrensel bir eşik başarısız olur. Böylece vadi noktası (eşik) her yerel bölgede hesaplanır.

SS Kumar'ın makalesinin yöntemi ve daha özel olarak uğraştığınız görüntü sınıfı çok sınıflıdır (her biri farklı yoğunluk bandı ve yayılı birden çok nesne). Bu durumlarda, histogramlar çok modludur, yani çok sayıda tepe ve vadiye sahiptir ve muhtemelen her tepe farklı nesneye karşılık gelir, ancak daha da karmaşık olabilir.

Histogram şöyle görünebilir: (bu, kağıttaki ile aynı görüntüdür). resim açıklamasını buraya girin

Bu durumda, yukarıdaki 2 sınıf yaklaşımı basitçe başarısız olacaktır, çünkü iyi bir vadi yoktur. Bu nedenle, gönderdiğiniz ilk görüntünüz her yerde siyah / beyaz noktalara benziyor.

Buradaki Adaptif Eşiklamanın anlamı , doğru zirveyi tanımlamanız gerektiğini ve kolun ve diğer nesnelerin en yoğunluğunu kapsayan gri tonlama bandının keskin kontrastlarda olduğunu gösterir.

Ne yapmalısın?

Birincisi, Uyarlanabilir eşiklemeyi kullanmak zorunluysa, histogramı bulun ve hangi yoğunluk aralığını görün ve ardından sol veya sağ eşik için hangi piksellerin atılması gereken yoğunluk sınırları olduğunu görün.

Alternatif olarak Bölge Büyütme veya bölme ve birleştirme algoritmasını kullanabilirsiniz. Bazı bilgiler için bu soruya bakın: Basit görüntüler için hangi segmentasyon yöntemleri kullanılabilir?


Çok teşekkür ederim. Bu çok bilgilendirici bir cevaptı efendim.
Gomathi
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.