title: Exception has occurred: ValueError too many values to unpack (expected 3) when attempting to unpack an array
body: <p>I'm trying to speed up keypoint detection by pre-generating the keypoints of the objects I want to detect before passing them into FLANN for detection.</p>
  <p>I'm getting the keypoints and descriptors but when I try and select them with <code>keypoint_needle =  needle_kp1_desc[0]</code> and <code>descriptors_needle = needle_kp1_desc[1]</code> I'm expecting <code>keypoint_needle</code> to be a KeyPoint value like: <code>&lt;KeyPoint 000001EEFF0CB5A0&gt;</code> and <code>descriptors_needle</code> to be an array while I'm actually getting both as KeyPoint values.</p>
  <p>I thought <code>[0]</code> would select array column/list (unsure what it's called when multiple lists are appended to the same array) item 0 and <code>[1]</code> would select column/list item 1 as in the below image.</p>
  <p>But it looks like I'm getting object 1 and 2 from <code>0</code>. How do I reference object <code>1</code> if not with <code>[1]</code></p>
  <p><a href="https://i.stack.imgur.com/nSJAo.png" rel="nofollow noreferrer"><img src="https://i.stack.imgur.com/nSJAo.png" alt="enter image description here" /></a></p>
  <pre><code>def loadImages(directory):
      image_list = []
      for i in directory:
          img = cv.imread(i, cv.IMREAD_UNCHANGED)
          image_list.append(img)
      return image_list
  
  def preProcessNeedle(image_list):
      needle_kp1_desc = []
      for i in image_list:
          orb = cv.ORB_create(edgeThreshold=0, patchSize=32)
          keypoints_needle, descriptors_needle = orb.detectAndCompute(i, None)
          needle_kp1_desc.append((keypoints_needle, descriptors_needle))
      return needle_kp1_desc
  
  def kpDetection(needle_kp1_desc):
      # Object Detection
      for i in needle_kp1_desc:
          keypoint_needle = needle_kp1_desc[0]
          descriptors_needle = needle_kp1_desc[1]
          
  </code></pre>