Skip to content

Instantly share code, notes, and snippets.

@tashrifbillah
Last active February 28, 2020 19:26
Show Gist options
  • Save tashrifbillah/1fb8e0d4d7ea30ef2a7b7c61c9846d87 to your computer and use it in GitHub Desktop.
Save tashrifbillah/1fb8e0d4d7ea30ef2a7b7c61c9846d87 to your computer and use it in GitHub Desktop.
def single_pass(InputImage, scale):
temp_image= InputImage.copy()
for s in range(scale,0,-1):
temp_image= single_scale(temp_image, s)
temp_image= findLargestConnectMask(temp_image)
OutputImage= temp_image
return OutputImage
def single_scale(InputImage, ss):
# erosion
del_image= binary_erosion(InputImage, struct_element, iterations= ss)
# largest connected component
largest_image= findLargestConnectMask(del_image)
del_image[largest_image>0]= 0
# dilation
binary_dilation(del_image, struct_element, iterations= ss+1)
ind_to_delete= del_image>0
ind_to_keep= ~ind_to_delete
largest_image[ind_to_delete]= 0
largest_image[ind_to_keep]= InputImage[ind_to_keep]
OutputImage= largest_image
return OutputImage
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment