2014-01-30 3 views
1

이미지를 2 진화하고 연결된 모든 구성 요소를 찾았습니다. 이제는 더 큰 영역을 가진 연결된 구성 요소의 좌표를 얻는 것이 내 목표입니다. 다음 코드를 사용하여 오류가 표시됩니다. . 당신은 내가 인해 범위를 벗어난 배열 c(k1)r(k1)의에 추측하지만, 우리에게 오류를 표시 할 필요가가장 큰 연결된 구성 요소를 추출

  [l,n]=bwconncomp(binext,8); 
      for k1=1:n 
       [r,c]=find(l==k1); 
       rbar=mean(r(k1)); 
       cbar=mean(c(k1)); 
       r1(k1)=max(r(k1)); 
       c1(k1)=max(c(k1)); 
       r2(k1)=min(r(k1)); 
       c2(k1)=min(c(k1)); 
       len(k1)=r1(k1)-r2(k1); 
       wid(k1)=c1(k1)-c2(k1); 

      end 

답변

3

.

영역이 반드시 직사각형 일 필요는 없으므로 길이와 너비를 계산하는 방법은 근사치에 지나지 않습니다. 시도해보십시오

L = regionprops(binext,'area','PixelIdxList'); 

대신에보십시오. L(i).Area은 모든 지역의 지역을 반환합니다. i = 1:length(L);

관련 문제