title: Count number of white pixels along a line in OpenCV
body: <p>So I'm trying to write a function, lets call it foo, that takes the path of a binary image, gets the Hough lines along it and then returns the lines sorted by how many white pixels are along the Hough lines. This is the code I have so far, but its crashing at the "if(image[(x1+(i<em>stepx)),(y1+(i</em>stepy))].any()):" line with an invalid index. Do you guys see what I can do to fix the bug or know of a function built in OpenCV to do what I want?</p>
  
  <pre><code>def lineParams(line, length):
      (dist, angl) = line
      a = math.cos(angl)
      b = math.sin(angl)
      x0 = a * dist
      y0 = b * dist
      pt1 = (int(x0 - length * b), int(y0 + length * a))
      pt2 = (int(x0 + length * b), int(y0 - length * a))
      return (pt1, pt2)
  
  def lineWhiteness(line, image):
      (pt1, pt2) = lineParams(line, len(image))
      count = 0
      (x1, y1) = pt1
      (x2, y2) = pt2
      stepx = (x2 - x1) / 100
      stepy = (y2 - y1) / 100
      for i in xrange(1, 100):
          #print image[(x1 + i * stepx), (y1 + i * stepy)]
          if(image[(x1 + (i * stepx)), (y1 + (i * stepy))].any()):
              count = count + 1
      return count
  
  def foo(path, display):
      edges = CannyEdge(path, False)
      lines = cv2.HoughLines(edges, rho, theta, threshold)
      image = cv2.imread(path)
      lines = lines[0]
      lines = sorted(lines, key=lambda l: lineWhiteness(l, image))
      return lines
  </code></pre>