im = cv2.imread('c:/data/ph.jpg')
gray = cv2.cvtColor(im, cv2.COLOR_BGR2GRAY)
contours, hierarchy = cv2.findContours(gray, cv2.RETR_LIST, cv2.
    CHAIN_APPROX_SIMPLE)
idx = 0
for cnt in contours:
    idx += 1
x, y, w, h = cv2.boundingRect(cnt)
roi = im[y:y + h, x:x + w]
cv2.imwrite(str(idx) + '.jpg', roi)
cv2.imshow('img', im)
cv2.waitKey(0)
Extract all bounding boxes using OpenCV Python