mirror of
https://github.com/opencv/opencv.git
synced 2024-11-28 13:10:12 +08:00
Merge pull request #1629 from lluisgomez:er_tree_clean_bug_fix
This commit is contained in:
commit
334292083e
@ -126,8 +126,6 @@ private:
|
||||
int d_C1, int d_C2, int d_C3 );
|
||||
// merge an ER with its nested parent
|
||||
void er_merge( ERStat *parent, ERStat *child );
|
||||
// recursively walk the tree and clean memory
|
||||
void er_tree_clean( ERStat *er );
|
||||
// copy extracted regions into the output vector
|
||||
ERStat* er_save( ERStat *er, ERStat *parent, ERStat *prev );
|
||||
// recursively walk the tree and filter (remove) regions using the callback classifier
|
||||
@ -486,7 +484,17 @@ void ERFilterNM::er_tree_extract( InputArray image )
|
||||
er_save(er_stack.back(), NULL, NULL);
|
||||
|
||||
// clean memory
|
||||
er_tree_clean(er_stack.back());
|
||||
for (size_t r=0; r<er_stack.size(); r++)
|
||||
{
|
||||
ERStat *stat = er_stack.at(r);
|
||||
if (stat->crossings)
|
||||
{
|
||||
stat->crossings->clear();
|
||||
delete(stat->crossings);
|
||||
stat->crossings = NULL;
|
||||
}
|
||||
delete stat;
|
||||
}
|
||||
er_stack.clear();
|
||||
|
||||
return;
|
||||
@ -678,22 +686,6 @@ void ERFilterNM::er_merge(ERStat *parent, ERStat *child)
|
||||
|
||||
}
|
||||
|
||||
// recursively walk the tree and clean memory
|
||||
void ERFilterNM::er_tree_clean( ERStat *stat )
|
||||
{
|
||||
for (ERStat * child = stat->child; child; child = child->next)
|
||||
{
|
||||
er_tree_clean(child);
|
||||
}
|
||||
if (stat->crossings)
|
||||
{
|
||||
stat->crossings->clear();
|
||||
delete(stat->crossings);
|
||||
stat->crossings = NULL;
|
||||
}
|
||||
delete stat;
|
||||
}
|
||||
|
||||
// copy extracted regions into the output vector
|
||||
ERStat* ERFilterNM::er_save( ERStat *er, ERStat *parent, ERStat *prev )
|
||||
{
|
||||
|
Loading…
Reference in New Issue
Block a user