title: Red dot coordinates detection
body: <p>I'm trying to follow movement of a part using red dots. I tried with white dots and thresholding before, but there is too much reflection from the smartphone I'm using. The plan is to recognize a dot as a contour, find the center and fill the array with the coordinates of all contour centers for further calculation.</p>
  
  <p>The code is posted bellow, it recognizes the correct number of dots, but I get the division by zero error. Does anyone know what I'm doing wrong?</p>
  
  <p>Image:<a href="https://imgur.com/a/GLXGCPP" rel="nofollow noreferrer">https://imgur.com/a/GLXGCPP</a></p>
  
  <pre><code>import cv2
  import numpy as np
  from matplotlib import pyplot as plt
  import imutils
  
  #load image
  img = cv2.imread('dot4_red.jpg')
  
  #apply median blur, 15 means it's smoothing image 15x15 pixels
  blur = cv2.medianBlur(img,15)
  
  #convert to hsv
  hsv = cv2.cvtColor(blur, cv2.COLOR_BGR2HSV)
  
  #color definition
  red_lower = np.array([0,0,240])
  red_upper = np.array([10,10,255])
  
  #red color mask (sort of thresholding, actually segmentation)
  mask = cv2.inRange(hsv, red_lower, red_upper)
  
  #copy image for, .findContours distorts the source image
  mask_copy = mask.copy()
  
  #find contours
  cnts = cv2.findContours(mask_copy,cv2.RETR_LIST,cv2.CHAIN_APPROX_SIMPLE)
  
  #extract contours from the list??
  cnts = imutils.grab_contours(cnts)
  
  #count number of conoturs of specific size
  s1 = 500
  s2 = 10000
  xcnts = []
  for cnt in cnts:
      if s1&lt;cv2.contourArea(cnt)&lt;s2:
          xcnts.append(cnt)
  
  n = len(xcnts)
  
  #pre-allocate array for extraction of centers of contours
  s = (n,2)
  array = np.zeros(s)
  
  #fill array of center coordinates 
  for i in range(0,n):
      cnt = cnts[i]
      moment = cv2.moments(cnt)
      c_x = int(moment["m10"]/moment["m00"])
      c_y = int(moment["m01"]/moment["m00"])
  
      array[i,:] = [c_x, c_y]
  
  #display image
  cv2.namedWindow('image', cv2.WINDOW_NORMAL)
  cv2.imshow('image', mask)
  cv2.waitKey(0) &amp; 0xFF
  cv2.destroyAllWindows()
  
  #print results
  print ('number of dots, should be 4:',n)
  print ('array of dot center coordinates:',array)
  </code></pre>