Home > OS >  Extract images of people in call from Google Meets recording
Extract images of people in call from Google Meets recording

Time:11-16

I want to extract the individual persons from the video screenshot as an image. So from this frame I want 5 images, which I'll export as 1.jpg, 2.jpg ..., 5.jpg, by creating bounding boxes for each box of video. a green contour is drawn around each view

There's a seventh contour here, in the upper left corner of the image. It can be filtered out like this:

# Reject any contour smaller than min_area
min_area = 20000  # in square pixels
contours = [contour for contour in contours if cv2.contourArea(contour) >= min_area]

Output:

contours post filtering

The next step is to find the minimum bounding rectangle for each camera using boundingRect():

# Get bounding rectangle for each contour
bounding_rects = [cv2.boundingRect(contour) for contour in contours]
# Display each rectangle
img = img_orig.copy()
for rect in bounding_rects:
    x,y,w,h = rect
    cv2.rectangle(img,(x,y),(x w,y h),(0,255,0),10)
plt.imshow(img)

Output:

rectangle around each camera

In the bounding_rects list, you now have the x, y, width, and height of every camera.

  • Related