new_contents: """
  ====================
  Approximate Polygons
  ====================
  
  This example shows how to approximate polygonal chains with the Douglas-Peucker
  algorithm.
  """
  
  import numpy as np
  import matplotlib.pyplot as plt
  from skimage.draw import ellipse
  from skimage.measure import find_contours, approximate_polygon
  from skimage.morphology import erosion
  
  img = np.zeros((800, 800), 'int32')
  
  rr, cc = ellipse(250, 250, 180, 230, img.shape)
  img[rr, cc] = 1
  rr, cc = ellipse(600, 600, 150, 90, img.shape)
  img[rr, cc] = 1
  
  plt.gray()
  plt.imshow(img)
  
  strel = np.array([[0, 1, 0], [1, 1, 1], [0, 1, 0]], 'uint8')
  for contour in find_contours(img, 0):
      coords = approximate_polygon(contour, 4)
      plt.plot(coords[:, 1], coords[:, 0], '-r', linewidth=2)
      coords = approximate_polygon(contour, 40)
      plt.plot(coords[:, 1], coords[:, 0], '-g', linewidth=2)
  
  plt.axis((0, 800, 0, 800))
  plt.axis('off')
  plt.show()
  
subject: add example script for polygon approximation