Last active
August 29, 2015 14:01
-
-
Save cancan101/6b4bf88c74bcacfa9d9f to your computer and use it in GitHub Desktop.
Get Solid-Filled Image for State Map v0
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
def get_state_v0(state): | |
url = make_url(state) | |
IN = load_gif_url(url) | |
#Drop the text at the top | |
IN = IN[150:] | |
#Convert 3 color channels to 1 | |
IN_bw = get_bw(IN) | |
#invert colors (per docs for findContour) | |
IMG = 255-IN_bw | |
out_img = IMG.copy() | |
contours, hierarchy = cv2.findContours(out_img, cv2.RETR_TREE, cv2.CHAIN_APPROX_SIMPLE) | |
threshold = 0.02 | |
img = 255*np.ones(IN.shape, dtype=np.uint8) | |
for i in xrange(len(contours)): | |
cnt = contours[i] | |
cnt_len = cv2.arcLength(cnt, True) | |
cc = cv2.approxPolyDP(cnt, threshold * cnt_len, True) | |
area = cv2.contourArea(cc) | |
if cnt_len > 50 and area > 500: | |
cv2.drawContours(img, contours, i, (0,0,0),thickness=cv2.cv.CV_FILLED) | |
return img |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment