title: numpy.ndarray object has no attribute 'read'(and 'seek')
body: <p>I am getting the error <code>numpy.ndarray object has no attribute 'read'</code> and <code>numpy.ndarray object has no attribute 'seek'</code>. I tried looking for the answer online but I failed.</p>
  
  <p>What I am trying to do is detect objects in a video - in this case I want to detect zebras. </p>
  
  <p>I took an image detector and I am trying to apply it to video. I am trying to loop over each frame of the video and ultimately passing the frame to the function <code>draw_boxes</code>.</p>
  
  <p>Here is the error message:</p>
  
  <pre><code>Traceback (most recent call last):
    File "/Users/ysquared/Library/Python/3.7/lib/python/site-packages/PIL/Image.py", line 2770, in open
      fp.seek(0)
  AttributeError: 'numpy.ndarray' object has no attribute 'seek'
  
  During handling of the above exception, another exception occurred:
  
  Traceback (most recent call last):
    File "&lt;stdin&gt;", line 1, in &lt;module&gt;
    File "&lt;string&gt;", line 204, in &lt;module&gt;
    File "&lt;string&gt;", line 118, in load_image_pixels
    File "/Users/ysquared/Library/Python/3.7/lib/python/site-packages/keras_preprocessing/image/utils.py", line 110, in load_img
      img = pil_image.open(path)
    File "/Users/ysquared/Library/Python/3.7/lib/python/site-packages/PIL/Image.py", line 2772, in open
      fp = io.BytesIO(fp.read())
  AttributeError: 'numpy.ndarray' object has no attribute 'read'
  
  </code></pre>
  
  <p>And here is the relevant code:</p>
  
  <pre class="lang-py prettyprint-override"><code>model = load_model('model.h5')
  
  # define the expected input shape for the model
  input_w, input_h = 416, 416
  
  # define the anchors
  anchors = [[116,90, 156,198, 373,326], [30,61, 62,45, 59,119], [10,13, 16,30, 33,23]]
  
  # define the labels
  labels = ["person", "bicycle", "car", "motorbike", "aeroplane", "bus", "train", "truck",
          "boat", "traffic light", "fire hydrant", "stop sign", "parking meter", "bench",
          "bird", "cat", "dog", "horse", "sheep", "cow", "elephant", "bear", "zebra", "giraffe",
          "backpack", "umbrella", "handbag", "tie", "suitcase", "frisbee", "skis", "snowboard",
          "sports ball", "kite", "baseball bat", "baseball glove", "skateboard", "surfboard",
          "tennis racket", "bottle", "wine glass", "cup", "fork", "knife", "spoon", "bowl", "banana",
          "apple", "sandwich", "orange", "broccoli", "carrot", "hot dog", "pizza", "donut", "cake",
          "chair", "sofa", "pottedplant", "bed", "diningtable", "toilet", "tvmonitor", "laptop", "mouse",
          "remote", "keyboard", "cell phone", "microwave", "oven", "toaster", "sink", "refrigerator",
          "book", "clock", "vase", "scissors", "teddy bear", "hair drier", "toothbrush"]
  
  vs = cv2.VideoCapture('Zebras.mp4')
  fourcc = cv2.VideoWriter_fourcc(*'XVID')
  writer = cv2.VideoWriter('output.avi', fourcc, 20.0, (640, 480))
  
  class_threshold = 0.6
  boxes = list()
  
  while True:
      (grabbed, frame) = vs.read()
  
      if grabbed==True:
  
          image, image_w, image_h = load_image_pixels(frame, (input_w, input_h))
          yhat = model.predict(image)
  
          for i in range(len(yhat)):
              # decode the output of the network
              boxes += decode_netout(yhat[i][0], anchors[i], class_threshhold, input_h, input_w)
           # correct the sizes of the bounding boxes for the shape of the image
          correct_yolo_boxes(boxes, image_h, image_w, input_h, input_w)
           # suppress non-maximal boxes
          do_nms(boxes, 0.5)
  
           # get the details of the detected objects
          v_boxes, v_labels, v_scores = get_boxes(boxes, labels, class_threshold)
  
           # draw what we found
          frame = draw_boxes(frame, v_boxes, v_labels, v_scores)
  
          writer.write(frame)
  
          cv2.imshow('frame', frame)
  
          if cv2.waitkey(1) &amp; 0xFF == ord('q'):
              break
  
      else:
          break
  
  vs.release()
  
  writer.release()
  
  cv2.destroyAllWindows()
  
  </code></pre>