Objective: Copy the bigger blobs in another mask image
I have a threshold image with blobs as shown:
How could I copy the bigger blobs into a mask image and leave out the one-pixel blobs?
My code (but I am not getting the desired result):
import numpy as np
import cv2
ref_img = cv2.imread('threshold.jpg', 0)
thresh = np.copy(ref_img)
cnts,_ = cv2.findContours(ref_img, cv2.RETR_LIST, cv2.CHAIN_APPROX_SIMPLE)
mask = np.zeros(ref_img.shape, dtype="uint8")
for c in cnts:
(x,y),radius = cv2.minEnclosingCircle(c)
area = cv2.contourArea(c)
if int(area) < 1:
cv2.circle(mask, (int(x), int(y)), int(radius), (255, 255, 255), -1)
cv2.imshow('img', mask)
cv2.waitKey(0)
Note: Using OpenCV 2.4.x