Matlab을 사용한 간 분할에 대한 적응 임계 값


11

적응성 임계 값을 사용하여 복부 CT 이미지에서 간을 분할해야합니다. 그러나 전체 전경을 배경과 분리시킵니다. 전경의 간 부분 만 분리하면됩니다. http://www.ijcaonline.org/casct/number1/SPE34T.pdf 에서 pdf 파일을 확인하십시오 . 그림 6과 유사한 출력이 필요합니다.

여기에 코딩을 첨부합니다. 친절하게 도와주세요.

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

원본 이미지 분할 후

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

적응 형 임계 값을 사용해야합니까?
vini


예, 적응 임계 값 만 사용해야합니다. 그렇지 않다면 다른 좋은 세분화 방법을 제안 할 수 있습니까 (지역 성장 및 FCM 제외)?
Gomathi

www.comp.polyu.edu.hk/~cslzhang/code.htm 이 U가 K. Zhang, H. Song 및 L. Zhang의 코드를 찾을 수 있음을 발견했습니다. 인식, vol. 43, Issue 4, pp. 1199-1206, 2010 년 4 월.이 이미지에 적합합니다.
vini

정말 고맙습니다. 나는 출력을 얻었다. 매개 변수 값을 변경하고 형태 학적 작업을 수행했습니다. 모두 감사합니다.
Gomathi

답변:


6

난 당신이 언급 (SS 쿠마의) 용지 및 코드 (HIPR) 두 개의 서로 다른 알고리즘이다있어 링크의 링크를 보았다 - 심지어 같은 두 소리하지만 적응 형 임계 값

먼저 차이점을 말씀 드리겠습니다.

HIPR 방법에서 일반적인 가정은 본질적으로 전경과 배경의 2 가지 수준의 이미지입니다. 임의의 2 클래스 임계 값에서, 이미지 히스토그램 내에서 2 개의 피크 또는 영역, 특히 배경 대 전경, 텍스트 대 백서를 기대한다. 어떤 식 으로든 히스토그램에서 최적의 밸리 포인트를 찾은 경우 가장 깨끗한 구분을 얻을 수 있습니다. 히스토그램의 모양은 다음과 같습니다.
여기에 이미지 설명을 입력하십시오

그러나이 계곡 지점은 로컬에서 약간 이동하고 있습니다. 주어진 조명 변형의 좋은 예가 있습니다. 따라서이 최적의 골점은 어디에나 존재하지만 공간에 따라 약간 씩 다르므로 범용 임계 값이 실패합니다. 따라서, 계곡 지점 (임계 값)은 모든 지역에서 계산됩니다.

SS Kumar의 논문 방법 과보다 구체적으로 다루는 이미지 클래스는 다중 클래스입니다 (각각 다른 강도 대역과 확산을 가진 여러 개체). 이 경우 히스토그램은 멀티 모달 (multi-modal)입니다. 즉, 많은 봉우리와 계곡이 있으며 아마도 각 봉우리가 다른 물체에 해당하지만, 훨씬 더 복잡 할 수 있습니다.

히스토그램은 다음과 같이 보일 수 있습니다 (이것은 종이와 동일한 이미지입니다). 여기에 이미지 설명을 입력하십시오

이 경우 좋은 계곡이 하나도 없기 때문에 위의 2 가지 접근 방식은 실패 할 것입니다. 그렇기 때문에 게시 한 첫 번째 이미지가 모두 검은 색 / 흰색 점처럼 보입니다.

여기서 Adaptive Thresholding 의 의미는 레버의 최대 강도를 커버하는 정확한 피크와 그레이 스케일 밴드를 식별해야하며 다른 물체는 뚜렷한 대조를 이룹니다.

어떻게해야합니까?

우선 적응 임계 값을 사용해야하는 경우 히스토그램을 찾아 어떤 강도 범위를 확인한 다음 왼쪽 또는 오른쪽 임계 값에 대해 픽셀을 버려야하는 강도 경계가 있는지 확인하십시오.

또는 지역 성장 또는 분할 및 병합 알고리즘을 사용할 수 있습니다. 간단한 정보에 사용할 수있는 분할 방법은 무엇입니까?


정말 고맙습니다. 매우 유익한 답변이었습니다.
Gomathi
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.