bool f_contains_g(BlobPtr f, BlobPtr g) { return (f && g && (f->ul().x < g->ul().x) && (f->br().x > g->br().x) && (f->ul().y < g->ul().y) && (f->br().y > g->br().y)); }
bool Trace::is_blob_close(BlobPtr blob) { XYCoord A, B; bool boxes_overlap(XYCoord A, XYCoord B, XYCoord a, XYCoord b); get_matching_region(A, B); //cout << "Matching region for trace " << m_id << //" = [" << A.x << "," << A.y << "] [" << B.x << "," << B.y << "]" << endl; return boxes_overlap(A, B, blob->ul(), blob->br()); }
bool blob_features_are_equal(BlobPtr f, BlobPtr g) { return (f && g &&(f->ul() == g->ul()) &&(f->br() == g->br())); }