Borrar filtros
Borrar filtros

How to merge overlapping bounding boxes into one?

6 visualizaciones (últimos 30 días)
amir
amir el 1 de Mzo. de 2016
Respondida: Anand el 3 de Mzo. de 2016
I have used the "FrontalFaceCart" and "ProfileFace" detectors in parallel and in some cases I got overlapping boxes. How can I merge them into one? And any idea why it's not detecting the second person in the attached photo?

Respuestas (2)

Anand
Anand el 3 de Mzo. de 2016
You could do something similar to what the MergeThreshold option in vision.CascadeObjectDetector does. The algorithm used is described in brief here:
Look under Algorithms for Merge Detection Threshold.
Essentially, you could do something like this:
If two bounding boxes overlap significantly, merge them by computing the merged bounding box at the mid point of the two detections, with size as the average of the sizes of the individual detections. You can use bboxOverlapRatio to compute the overlap ratio.

Walter Roberson
Walter Roberson el 2 de Mzo. de 2016
Add the box width minus 1 to get the final box index. Now take the minimum of the left coordinates and the maximum of the right coordinates to do a horizontal merge. Likewise minimum of bottom and maximum of top to do a vertical merge. You can convert those back to widths and heights if you want: subtract left from right and add 1 to get the width.
  1 comentario
amir
amir el 3 de Mzo. de 2016
I don't get how your method works, would you please explain it more? One more thing is how can I make sure that there are overlapping boxes in each time of my detection?

Iniciar sesión para comentar.

Categorías

Más información sobre Image Processing and Computer Vision en Help Center y File Exchange.

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by