Remove unwanted contours with irregular shapes

In the above image i want to retain the hand contour and remove all the other contours. After using findContours function, contourArea() function has been used to remove the most of the contours but still I am not able retain the required contour and eliminate other contours. The code is given below:

import cv2
import numpy as np
from matplotlib import pyplot as plt
img = cv2.imread('frame0.jpg', cv2.IMREAD_UNCHANGED)
#convert img to grey
img_grey = cv2.cvtColor(img,cv2.COLOR_BGR2GRAY)
#set a thresh
thresh = 100
#get threshold image
ret,thresh_img = cv2.threshold(img_grey, thresh, 255, cv2.THRESH_BINARY)
#find contours
im2,contours, hierarchy = cv2.findContours(thresh_img, cv2.RETR_TREE, cv2.CHAIN_APPROX_SIMPLE)
for c in contours:
    if cv2.contourArea(c) < 620 :
    cv2.drawContours(img, [c], -1, (0,255,0), 2)
    cv2.drawContours(img, [box], -1, (255,255,255), 2)
    for (x,y) in list(box):
        cv2.putText(img, "({},{})".format(x, y), (int(x), int(y)),
            cv2.FONT_HERSHEY_SIMPLEX, 0.4, (255,255,255), )

So, can i know how to remove the contours in the above image which are not required using contourArea() function?

Thank you very much for the reply