2011-11-02 5 views
2

regionprops으로 이미지 목록을 처리하고 그 결과를 배열이나 일종의 목록에 저장하고 싶습니다.MATLAB에서 가변 길이 배열 목록 만들기

내 문제는 regionprops 가변 크기 구조체를 반환합니다. 제 경우에는 다음과 같습니다 :

stats = regionprops(L,'Centroid'); 

2x1 struct array with fields: 
    Centroid 

구조체의 크기는 이미지에 따라 다릅니다.

내 모든 구조체를 보유하는 객체를 만들려면 어떻게합니까? 셀 배열을 사용해야합니까?

나는 다음과 같은 시도 :

mycell = struct2cell(stats); 
centers(i,:) = mycell; 

을하지만 그것은 단지 한 내 셀 어레이는 같은 크기로 작동합니다. 여기서 검출 된 객체의 수가 일 때 프레임에서 프레임으로 변경 될 때이 아닙니다.

어떻게 가변 길이 구조체 또는 셀 배열을 컨테이너에 저장할 수 있습니까?

셀 배열의 구조체는 무엇을 사용해야합니까?

답변

0

각 구조체 배열 stats을 자체 셀 안에 넣기 만하면됩니다. 예 :

>> stats1(3).test = 1 

stats1 = 

1x3 struct array with fields: 
    test 

>> stats2(2).test = 1 

stats2 = 

1x2 struct array with fields: 
    test 

>> [{stats1} {stats2}] 

ans = 

    [1x3 struct] [1x2 struct] 
+0

그러나 알고리즘을 사용하여 [{stats1} {stats2}]을 (를) 루프 할 수 있습니까? 나는'for i = 1 : size (images) .... allstats {i} = stats' 또는 이와 비슷한 것을하고 싶습니다. – zsero

+0

OK, 실제로'allstats {i} = stats'와 함께 작동합니다. – zsero

+0

당신은 그것을 얻었다! 프로젝트와 함께 행운을 빌어 요! –