2015-05-03 58 views
0

我有从findcontours()提取的轮廓,现在我想创建一个包含轮廓所有边界的数组。创建一个矩形数组:Opencv,Android

int area,total=0; 

for(int i=0; i<contours.size(); i++) 
{ 
    area = (int) Imgproc.contourArea(contours.get(i)); 

    if(area>4600 && area<5100) 
    { 
     Rect abc = Imgproc.boundingRect(contours.get(i));       
    } 
} 

这里它只保存Rect中的1个轮廓,我想要一个所有轮廓Rect的数组。

回答

1

这应该会更好:

int area,total=0; 
List<Rect> contourRects = new ArrayList(); 

for(int i=0; i<contours.size(); i++) 
{ 
    area = (int) Imgproc.contourArea(contours.get(i)); 

    if(area>4600 && area<5100) 
    { 
     contourRects.add(Imgproc.boundingRect(contours.get(i)));       
    } 
} 
+0

你的答案是正确的(+1),但你应该到OP解释他得到错误的。 – Antonio

+0

感谢队友的工作! –