title: Creating an array of images in python \ openCV \ numpy
body: <p>I'm trying to implement an "LOG blob detector" using python and <code>openCV</code>.
  the idea is to create 10-15 levels of LOG filters, apply each of them to my original gray scale image and save the images in an array of size <code>height</code> x <code>width</code> x <code>numOfLevels</code> and then find the local maximums on the 3D array.</p>
  
  <p>The problem is I'm not sure how to save these in an array.</p>
  
  <p>I tried to do the following:</p>
  
  <pre><code>myImage = cv2.imread('butterfly.jpg')
  gray_image = cv2.cvtColor(myImage, cv2.COLOR_BGR2GRAY)
  sigma = 2
  k = 2**(0.25)
  std2 = float(sigma**2)
  arr = []
  for i in range(10):
      filt_size =  2*np.ceil(3*sigma)+1
      H = log_filt( filt_size, sigma)
      H *= sigma**2
      dst = cv2.filter2D(gray_image,-1,H)
      arr.append(dst)
      cv2.imshow('Gray', dst)
      cv2.waitKey(0)
      cv2.destroyAllWindows()
      sigma = sigma * k
      std2 = float(sigma**2)
      plt.imshow(H,interpolation='nearest')
  </code></pre>
  
  <p>But then if I try to take on the of the images and use <code>cv2.imshow(arr[0])</code> I get the following error:</p>
  
  <blockquote>
    <p><code>TypeError: Required argument 'mat' (pos 2) not found</code></p>
  </blockquote>
  
  <p>What am I doing wrong here?</p>
  
  <p>Is there a better way to save these in an array?</p>
  
  <p>Maybe using <code>np.array</code> somehow?</p>