How can I delete the background outside the drawn contours?

Viewed 73

How can I delete the background outside the drawn contours? My main goal is measure size of ONLY cardboard boxes. I have 2 differend code.

First code measuring EVERYTHING with aruco marker.

Second code is detecting boxes with yolo.(I need this because measure code detects everything)

Both of them drawn contours.

My measure code is measuring everything thats why i want to remove background except contoured objects.

how can i manage this?

Please help.

enter image description here

2 Answers

Create black mask image. For each detection draw it contour on mask:

cv2.drawContours(img, contours, -1, color=(255, 255, 255), thickness=cv2.FILLED)

And after make bitwise_and with this mask.

GrabCut algorithm seems like what you need in this case. It will distinguish background and foreground pixels inside a bounding box.

Related