You can get a binary image using the found outlines. Just draw the filled outlines on a blank img in white.
mask = np.zeros((img.shape[0], img.shape[1], 1), dtype=np.uint8)
for contour in hulls:
cv2.drawContours(mask, [contour], -1, (255, 255, 255), -1)
: . drawContours
, :
text_only = cv2.bitwise_and(img, img, mask=mask)