2013-01-16 4 views
2

MATLAB을 처음 사용했습니다. 스켈레톤 이미지에서 이미지 처리를하고 있습니다. Matlab에서 bworph 함수를 사용하여 분기점과 끝점을 감지하고 있습니다. 이제 스켈레톤 이미지에서 각 브랜치의 길이를 계산하고 싶습니다. Matlab의 다른 옵션은 무엇이며 이미지 길이를 계산하는 방법은 무엇입니까?Matlab을 사용하여 스켈레톤 이미지의 분기 길이를 계산하는 방법

다음은 분기점과 끝점을 찾는 데 사용한 코드입니다. 이제 저는 이미지의 각 지점으로 가서 길이를 결정하겠습니다.

mn=bwmorph(y,'branchpoints'); 
[row column] = find(mn); 
branchPts = [row column]; 
endImg = bwmorph(y, 'endpoints'); 
[row column] = find(endImg); 
endPts  = [row column]; 
figure;imshow(y); 
hold on ; 
plot(branchPts(:,2),branchPts(:,1),'rx'); 
hold on; plot(endPts(:,2),endPts(:,1),'*'); 
+0

체크 아웃 얻을 regionprops을 적용 할 수 있습니다 : 그것은 매우 유익 http://blogs.mathworks.com/steve/와 나는 몇 달/년 비슷한 문제가 덮여 생각 ...전에 – slayton

답변

3

브랜치 지점을 제거하면 분기가 별개의 연결된 구성 요소가됩니다. 그들은 당신이 원하는 속성이 블로그를

branches = y & ~mn; % set branch points to zero 
branchesLabeled = bwlabel(branches, 4); % label connected components 
sts = regionprops(branchesLabeled, 'Area', 'Perimeter'); % extract properties